【问题标题】:DJ Native Swing JWebBrowser panel not working inside JTabbedPaneDJ Native Swing JWebBrowser 面板在 JTabbedPane 中不起作用
【发布时间】:2019-05-04 20:11:16
【问题描述】:

我正在使用DJ-Native-Swing - JWebBrowserJTabbedPane 的选项卡中显示浏览器窗口,其中还包括其他选项卡。
我正在尝试的代码(在 NetBeans 7.1.1 上)是:

browserPanel = (JPanel)SimpleWebBrowserExample.createContent(); // I use this line in browserPanel Properties > Customize Code

main(String[] arg) 方法中:

NativeInterface.open();
    /*
     * Create and display the form
     */
    java.awt.EventQueue.invokeLater(new Runnable() {

        @Override
        public void run() {
            new MyFrame().setVisible(true);
        }
    });
NativeInterface.runEventPump();

但是代码不起作用,JWebBrowser 没有显示在面板上。为此我还需要做什么? 我是 Windows 7 x64,JDK1.7.0,我已经包含了 DJ Native Swing 所需的所有库。

独立程序对我来说也很有效。

【问题讨论】:

    标签: java swing netbeans-7 jtabbedpane


    【解决方案1】:

    我意识到这个答案来得太晚了,但我就是这样做的

    这是扩展 JPanel 并定义浏览器的类:

       public class BrowserPanel extends JPanel {   
    
    public  BrowserPanel() {
        super(new BorderLayout());
        JPanel webBrowserPanel = new JPanel(new BorderLayout());
        webBrowserPanel.setBorder(BorderFactory.createTitledBorder(""));
        final JWebBrowser webBrowser = new JWebBrowser();
        webBrowser.navigate("bigfarm.goodgamestudios.com/?country=RO");
        webBrowserPanel.add(webBrowser, BorderLayout.CENTER);
        add(webBrowserPanel, BorderLayout.CENTER);
      }
    

    }

    然后我创建了一个扩展 JFrame 并保存 JTabbedPane 的类

    public class WhateverFrame extends JFrame{
    
    
    
        private JTabbedPane tabbedPane;
    
    
    
        public WhateverFrame() {
    
    
            BrowserPanel x=new BrowserPanel();
    
            tabbedPane = new JTabbedPane(JTabbedPane.TOP);
    
    
            tabbedPane.add(x, BorderLayout.WEST);
            tabbedPane.setTitleAt(0, "Start");
            /*
             * add the tabbedPane to the content pane
             */
    
            setContentPane(tabbedPane);
        }
    

    主要是这样的:

    public static void main(String[]args){ 
    
            UIUtils.setPreferredLookAndFeel();
            NativeInterface.open(); 
            SwingUtilities.invokeLater(new Runnable() {
    
    
            public void run() {
            WhateverFrame frame=new WhateverFrame();
                    frame.setExtendedState(Frame.MAXIMIZED_BOTH);
                    frame.setLocation(0,0);
                    frame.setVisible(true);
    
    
              }    
            });
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-05
      • 2014-06-30
      • 2021-10-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多