【发布时间】:2015-09-05 12:34:41
【问题描述】:
我在 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
【问题讨论】:
-
javafx 和 swing 都可以在 Mac OS X 上运行。请编辑您的问题以包含一个 complete example,以显示您所描述的问题。
-
你的问题离题有两个原因:它询问了一个问题而不提供任何代码来重现它,它征求意见。
-
在您的 1.7 Java 中,您需要将 rt-jfx.jar(在安装目录中)放到您的构建路径中。更新到 Java 1.8,因为它包含 JavaFX-Runtime 库。
-
您的示例适用于 Mac OS X 10.9 上的 Java 7。
-
更新到 java 8 有帮助
标签: java swing javafx desktop-application