Hy, ich versuche gerade das Fenster unter JavaFX in einer anderen Klasse zu Starten (also eine Klasse ohne die main).
Es gibt wenige Beispiele die das Erklären und ich blicke es nicht. Auch die Beispiele aus NetBeans 7.1.1 sind nicht hilfreich.
Im Anhang ist ein Beispielprojekt.
Hier der Code.
Start-Klasse (main)
[highlight=java]
package javaFXTest;
public class JavaFXTest
{
/**
* @param args
*/
public static void main(String[] args)
{
StartWindow sw = new StartWindow();
}
}
[/highlight]
Window-Klasse
[highlight=java]
package javaFXTest;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class StartWindow extends Application
{
Stage stage = new Stage();
public StartWindow()
{
start(stage);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Hello World!");
Button btn = new Button();
btn.setText("Say 'Hello World'");
StackPane root = new StackPane();
root.getChildren().add(btn);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}
}
[/highlight]
Die Fehlermeldung ist für mich verwirrend
Exception in thread "main" java.lang.IllegalStateException: Not on FX application thread; currentThread = main
at com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:218)
at com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUs erThread(QuantumToolkit.java:360)
at javafx.stage.Stage.<init>(Stage.java:112)
at javafx.stage.Stage.<init>(Stage.java:98)
at javaFXTest.StartWindow.<init>(StartWindow.java:11)
at javaFXTest.JavaFXTest.main(JavaFXTest.java:12)
Was muss ich beachten?
Vielen Dank im Voraus
Gruß Lerando
Es gibt wenige Beispiele die das Erklären und ich blicke es nicht. Auch die Beispiele aus NetBeans 7.1.1 sind nicht hilfreich.
Im Anhang ist ein Beispielprojekt.
Hier der Code.
Start-Klasse (main)
[highlight=java]
package javaFXTest;
public class JavaFXTest
{
/**
* @param args
*/
public static void main(String[] args)
{
StartWindow sw = new StartWindow();
}
}
[/highlight]
Window-Klasse
[highlight=java]
package javaFXTest;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class StartWindow extends Application
{
Stage stage = new Stage();
public StartWindow()
{
start(stage);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Hello World!");
Button btn = new Button();
btn.setText("Say 'Hello World'");
StackPane root = new StackPane();
root.getChildren().add(btn);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}
}
[/highlight]
Die Fehlermeldung ist für mich verwirrend
Exception in thread "main" java.lang.IllegalStateException: Not on FX application thread; currentThread = main
at com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:218)
at com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUs erThread(QuantumToolkit.java:360)
at javafx.stage.Stage.<init>(Stage.java:112)
at javafx.stage.Stage.<init>(Stage.java:98)
at javaFXTest.StartWindow.<init>(StartWindow.java:11)
at javaFXTest.JavaFXTest.main(JavaFXTest.java:12)
Was muss ich beachten?
Vielen Dank im Voraus
Gruß Lerando
Comment