0

我想在 JFrame 中实现 Java Swing 浏览器,可从 Net Beans Gui Builder 获得。我找到了Oracle 示例 - 使用 J 在 Swing 中使用 JavaFX。它可以工作,但 Net Beans Gui Builder 在此应用程序中不可用。我创建了新的 JFrame,可从 Net Beans Gui Builder 获得。我尝试将 WebEngine 粘贴到 JFXPanel(名为 jfxPanel)中,就像在示例中一样,但是在运行时面板没有出现在我的 JFrame 中(浏览器正在工作 - 我得到了文本信息,但它不可见)。如何解决问题?我想问题是 GUI Builder 在 initComponents 中使用了另一个布局,我不知道如何将我的面板添加到 JFrame。

    public SimpleSwingBrowser() {
    super();
    createScene();

    initComponents();

    panel.add(jfxPanel, BorderLayout.CENTER);
    getContentPane().add(panel);

    pack();
}

这个问题中,展示了如何使用 Java Swing 创建浏览器,但我不知道如何使其与 NetBeans GUI Builder 一起工作。例如,如果我评论

//initComponents(); 

在下面的代码中

    public BrowserFrame() {
    initComponents();
}

private void initAndShowGUI() {
    // This method is invoked on the EDT thread
    //JFrame frame = new JFrame("Swing and JavaFX");
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    final JFXPanel fxPanel = new JFXPanel();
    this.jPanel1.add(fxPanel, BorderLayout.CENTER);
    this.pack();
    this.jPanel1.setSize(640, 480);
    this.setLocationRelativeTo(null);
    this.setVisible(true);

    Platform.runLater(() -> {
        initFX(fxPanel);
    });
}

一切正常,但我无法评论这段代码,我想同时使用 GUI Builder 和 fxPanel。如何使它们一起工作(GUI Builder 生成的代码和 fxPanel 与浏览器)?

4

0 回答 0