在我的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

谢谢你帮我

10-06 06:09