macos上的JavaFX应用

macos上的JavaFX应用,java,swing,javafx,desktop-application,Java,Swing,Javafx,Desktop Application,我已经在JavaFX上编写了应用程序,它在Linux和Windows上成功启动,但在mac os上没有。它显示在进程中,没有异常或错误,但GUI没有显示。 在mac上启动这样的应用程序需要什么特殊功能 我还尝试了简单的hello world应用程序: public class TestApp extends Application { @Override public void start(Stage primaryStage) { primaryStage.setT

我已经在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);
    }

}
公共类TestApp扩展应用程序{
@凌驾
公共无效开始(阶段primaryStage){
setTitle(“你好,世界!”);
按钮btn=新按钮();
btn.setText(“说‘你好,世界’”);
btn.setOnAction(新的EventHandler(){
@凌驾
公共无效句柄(ActionEvent事件){
System.out.println(“你好,世界!”);
}
});
StackPane root=新的StackPane();
root.getChildren().add(btn);
primaryStage.setFullScreen(真);
原始阶段。设置场景(新场景(根,300250));
primaryStage.show();
}
公共静态void main(字符串[]args){
发射(args);
}
}
没有运气(相同的行为:没有GUI显示,但在进程中显示)


我正在使用java 1.7,OS X版本:10.8.5

解决方案是同时更新到java 8

并在Mac OS X上工作。请编辑您的问题,以包含一个显示您描述的问题的标题。您的问题脱离主题有两个原因:它询问一个问题,但没有提供任何代码来重现它,在1.7Java中,需要将rt-jfx.jar(在安装目录中)放到构建路径上。更新到Java 1.8,因为它包含JavaFX运行时库。您的示例在Mac OS X 10.9上使用Java 7。更新到Java 8有帮助