不能 运行 来自 Eclipse 的 JavaFx 代码
Can't run JavaFx code from Eclipse
我在站点 oracle 上找到了这段代码,但我无法使用 Eclipse 启动,它说我 "Unable to launch"。我已经安装了 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!"));
}
});
}
}
link 到我找到代码的网站:https://docs.oracle.com/javafx/8/embed_swing/jfxpub-embed_swing.htm
你没有写主要方法。因此 JVM 不知道起点
Eclipse 检测到 JavaFX 应用程序可以在 Java 8 中没有 main
方法的情况下启动时出现问题 - 解决方法是自己添加
public static void main(String[] args) {
launch(args);
}
在 Java 8 中,您可以直接启动 javafx.application.Application
subclass,即使它没有 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 从 "Run Configurations" 向导中 运行 它。选择 SwingFX
class 后,从菜单中选择 "Run",然后选择 "Run Configurations"。在 "Main" 选项卡中确保出现正确的 class 名称(即 "SwingFX"),然后按 "Run" 按钮。
设置完成后,工具栏上的绿色 "Run" 按钮(在 Java 透视图中)将再次 运行 应用程序,直到您 运行 别的。
我在站点 oracle 上找到了这段代码,但我无法使用 Eclipse 启动,它说我 "Unable to launch"。我已经安装了 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!"));
}
});
}
}
link 到我找到代码的网站:https://docs.oracle.com/javafx/8/embed_swing/jfxpub-embed_swing.htm
你没有写主要方法。因此 JVM 不知道起点
Eclipse 检测到 JavaFX 应用程序可以在 Java 8 中没有 main
方法的情况下启动时出现问题 - 解决方法是自己添加
public static void main(String[] args) {
launch(args);
}
在 Java 8 中,您可以直接启动 javafx.application.Application
subclass,即使它没有 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 从 "Run Configurations" 向导中 运行 它。选择 SwingFX
class 后,从菜单中选择 "Run",然后选择 "Run Configurations"。在 "Main" 选项卡中确保出现正确的 class 名称(即 "SwingFX"),然后按 "Run" 按钮。
设置完成后,工具栏上的绿色 "Run" 按钮(在 Java 透视图中)将再次 运行 应用程序,直到您 运行 别的。