Mac OS 上的 JavaFX 应用程序
JavaFX application on Mac OS
我在 JavaFX 上编写了应用程序,它在 Linux 和 Windows 上成功启动,但在 mac os 上启动失败。它在进程中显示,没有异常或错误,但 GUI 未显示。
在 mac 上启动此类应用程序需要什么特殊条件?
我还尝试了简单的 hello world 应用程序:
public class TestApp extends Application {
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Hello World!");
Button btn = new Button();
btn.setText("Say 'Hello World'");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Hello World!");
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
primaryStage.setFullScreen(true);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
运气不好(同样的行为:没有显示 GUI,但在进程中显示)
我正在使用 java 1.7,OS X 版本:10.8.5
解决方案更新为Java8
我在 JavaFX 上编写了应用程序,它在 Linux 和 Windows 上成功启动,但在 mac os 上启动失败。它在进程中显示,没有异常或错误,但 GUI 未显示。 在 mac 上启动此类应用程序需要什么特殊条件?
我还尝试了简单的 hello world 应用程序:
public class TestApp extends Application {
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Hello World!");
Button btn = new Button();
btn.setText("Say 'Hello World'");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Hello World!");
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
primaryStage.setFullScreen(true);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
运气不好(同样的行为:没有显示 GUI,但在进程中显示)
我正在使用 java 1.7,OS X 版本:10.8.5
解决方案更新为Java8