我使用DJ-Native-Swing - JWebBrowser在JTabbedPane
标签中显示浏览器窗口,其中还包含其他标签。
我正在尝试的代码(在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所需的所有库。
独立程序也适用于我。
答案 0 :(得分: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);
}
});
}