无法从Eclipse运行JavaFx代码

问题描述

在Java 8中,javafx.application.Application即使没有main(String[] args)方法,您也可以直接启动子类。问题是当前版本的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透视图中)将再次运行该应用程序,直到您运行其他内容为止。

解决方法

我在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

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”