繁体   English   中英

Java:如何从JButton重新启动类扩展应用程序?

[英]Java: how to relaunch the class extended application from JButton?

在我的JPanel内部,我有一个调用SimpleBrowser的按钮

    JButton swingButton = new JButton();
    swingButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            SimpleBrowser openBrowser = new SimpleBrowser();
            openBrowser.main((new String[0]));
        }
    });

    swingButton.setText("Browser");
    add(swingButton, BorderLayout.SOUTH);

这是我的SimpleBrowser类

public class SimpleBrowser extends Application {

VBox vb = new VBox();

public void main(String[] args) {
    Application.launch(args);
}
@Override
public void start(Stage primaryStage) {
    vb.setId("root");

    WebView browser = new WebView();
    WebEngine engine = browser.getEngine();
    String url = "https://www.google.com";
    engine.load(url);

    vb.getChildren().addAll(browser);

    Scene scene = new Scene(vb);
    primaryStage.setScene(scene);
    primaryStage.show();
}

当我运行此代码时,JButton会正确打开SimpleBrowser并显示google。 但是,当我关闭该应用程序并按下JButton时,没有任何反应。 它假设重新启动SimpleBrowser并显示google。

你们能帮我吗?

我实际上从oracle找到了这段代码,对我有很大帮助。

我会在这里分享,以防万一有人需要

https://docs.oracle.com/javafx/2/swing/SimpleSwingBrowser.java.htm

解释可以在这里找到

https://docs.oracle.com/javafx/2/swing/swing-fx-interoperability.htm#CHDIEEJE

谢谢你帮我

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM