Can#39;t从Eclipse运行JavaFx代码[英] Can't run JavaFx code from Eclipse

问题描述

我在网站Oracle上找到了此代码,但我无法使用Eclipse启动,它说我"无法启动".我已经安装了JDK 8,但它不起作用...

有人有解决方案吗? :p

public class SwingFX extends Application {

@Override
public void start (Stage stage) {
    final SwingNode swingNode = new SwingNode();

    createSwingContent(swingNode);

    StackPane pane = new StackPane();
    pane.getChildren().add(swingNode);

    stage.setTitle("Swing in JavaFX");
    stage.setScene(new Scene(pane, 250, 150));
    stage.show();
    }

private void createSwingContent(final SwingNode swingNode) {
    SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            swingNode.setContent(new JButton("Click me!"));
        }
    });
}
}

链接到该网站的链接,我找到了代码: https://https://docs.oracle.com/javafx/8/embed_swing/jfxpub-embed_swing.htm

推荐答案

在Java 8中,即使没有main(String[] args)方法,您也可以直接启动javafx.application.Application子类.问题是当前版本的Eclipse不会检查此问题,并且(至少在上下文菜单中)仅检查main(...)方法是否存在.因此,要允许它从Eclipse运行,您可以自己添加main(...)方法:

public class SwingFX extends Application {

    @Override
    public void start(Stage stage) {
        // ...
    }

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

或,您可以直接指示Eclipse从"运行配置"向导运行.选择您的SwingFX类,从菜单中选择"运行",然后选择"运行配置".在"主"选项卡中确保出现正确的类名称(即" swingfx"),然后按"运行"按钮.

设置此设置后,工具栏上的绿色"运行"按钮(在Java透视图中)将再次运行应用程序,直到您运行其他内容为止.

其他推荐答案

Eclipse在发现Javafx应用程序可以在没有A main方法的情况下启动Java> Java 8中的Javafx应用程序存在问题 - 一个解决方法是自己添加此

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

其他推荐答案

您尚未写主方法.因此,JVM不知道起点

本文地址:https://www.itbaoku.cn/post/978395.html