[英]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.