繁体   English   中英

无法从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//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类后,从菜单中选择“运行”,然后选择“运行配置”。 在“Main”选项卡中,确保显示正确的类名(即“SwingFX”),然后按“运行”按钮。

设置完成后,工具栏上的绿色“运行”按钮(在Java透视图中)将再次运行应用程序,直到您运行其他操作。

Eclipse在检测JavaFX应用程序可以在Java 8中没有main方法的情况下启动时遇到问题 - 解决方法是自己添加它

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

你没有写主要方法。 因此JVM不知道起点

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM