Moin,
ich will mir einen kleinen mp3player basteln. Schön mit SWT GUI. Abspielen funktioniert auch (javazoom) , wenn ich auf den play button drücke, nur ich kann nix anderes mehr machen. Die ganze GUI hängt, weil er ja mit dem Abspielen des mp3 beschäftigt ist. Ich würde jetzt aber gerne über die GUI stop aufrufen.
Was mache ich falsch? Oder muß ich hier mit Threads anfangen?
ich will mir einen kleinen mp3player basteln. Schön mit SWT GUI. Abspielen funktioniert auch (javazoom) , wenn ich auf den play button drücke, nur ich kann nix anderes mehr machen. Die ganze GUI hängt, weil er ja mit dem Abspielen des mp3 beschäftigt ist. Ich würde jetzt aber gerne über die GUI stop aufrufen.
Was mache ich falsch? Oder muß ich hier mit Threads anfangen?
Code:
package javazoom.jl.player;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.SWT;
public class GUI {
private Shell sShell = null;
private Button button = null;
public static void main(String[] args) {
Display display = Display.getDefault();
GUI thisClass = new GUI();
thisClass.createSShell();
thisClass.sShell.open();
while (!thisClass.sShell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
/**
* This method initializes sShell
*/
private void createSShell() {
sShell = new Shell();
sShell.setText("Shell");
sShell.setSize(new Point(300, 200));
button = new Button(sShell, SWT.NONE);
button.setBounds(new org.eclipse.swt.graphics.Rectangle(179,112,89,30));
button.setText("play");
button.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
jlp test = new jlp("-url http://81.201.113.93:9000");
String[] datei = new String[2];
datei[0] = "-url";
datei[1] = "http://81.201.113.93:9000";
try
{
jlp player = test.createInstance(datei);
if (player!=null)
player.play();
test.play();
}
catch (Exception ex) {
System.out.println("mau");
}
}
});
}
}