0

私は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 に必要なすべてのライブラリを含めました。

また、スタンドアロン プログラムもうまく機能しています。

4

1 に答える 1

0

この答えが少し遅れたことに気づきましたが、これが私がやった方法です

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);


          }    
        });
    }
于 2013-03-13T22:01:12.360 に答える