Eclipse不运行JavaFX应用程序-运行'java'应用程序

 2023-02-17    401  

问题描述

每当我在Eclipse中创建一个项目并包括Javafx时,当我单击运行按钮时,应用程序不会加载.

例如

Eclipse不运行JavaFX应用程序-运行'java'应用程序

package test;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class test extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @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.setScene(new Scene(root, 300, 250));
        primaryStage.show();
    }
}

这应该运行一个简单的Hello World应用程序,从Oracle文档中获取.但是,当我”运行”此代码时,没有打开窗口.而是打开一个称为” Java”的应用程序.看起来” java”只是位于’jdk1.8.0_25.jdk/contents/home/bin’中的” unix可执行文件”.应用程序” java”绝对没有显示,并且不需要戒烟就无法关闭.

我在MacBook上运行Eclipse.我可能遗漏了一些重要的细节…

有人知道为什么我的应用程序不按应有的运行吗?原谅我的天真,我是Java和Eclipse的新手.

非常感谢

编辑:

import javafx.application.Application;
import javafx.stage.Stage;


public class JavaFX extends Application {

    public static void main(String[] args){
            launch(args);
    }

    @Override
    public void start(Stage stage) throws Exception {
        // TODO Auto-generated method stub
        stage.show();

    }

}

这个简单的程序也给出了相同的错误.

推荐答案

所以我知道这是一个古老的问题,但是我最近遇到了我最近的问题,并想分享我发现的解决方案(尽管我没有洞察力为什么它起作用).

如图所示

转到主类的运行配置,在”参数”选项卡上,请取消选中”使用SWT启动时使用-XstartonFirstThread参数”的框.

添加问题的视觉示例,以便有人比我能解释为什么会发生这种情况/为什么此解决方案有效:

当您尝试运行程序时,这就是您所得到的.一个简单地称为” Java”的应用程序似乎正在运行,但什么都没有显示.

我希望这些信息能够帮助某人.

其他推荐答案

可能的解决方案从Eclipse Marketplace /EfxClipse/install.html

其他推荐答案

当我尝试在现有SWT项目中运行Javafx Main类时,我遇到了相同的问题:

<dependency>
   <groupId>org.eclipse.swt</groupId>
    <artifactId>org.eclipse.swt.cocoa.macosx.x86_64</artifactId>
    <version>4.3</version>
</dependency>

当我评论此依赖项时,显示了应用程序窗口,一切都很好.

以上所述是小编给大家介绍的Eclipse不运行JavaFX应用程序-运行'java'应用程序,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/34201.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。