我在站点 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 中,您可以直接启动 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 透视图中)将再次运行该应用程序,直到您运行其他程序。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!