无法从Eclipse运行JavaFx代码

我在网站上发现了这个代码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不知道起点