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

时间:2014-11-18 15:34:48

标签: java web-applications 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并显示谷歌。但是,当我关闭这个应用程序并压制JButton时,没有任何反应。它假设重新启动SimpleBrowser并显示谷歌。

你们能帮助我吗?

1 个答案:

答案 0 :(得分:1)

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

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

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

解释可以在这里找到

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

感谢您试图帮助我