我需要做一个嵌入式浏览器,找到了一段例程做测试,调用了JDIC包中的WebBrowser,但是执行之后始终没有任何显示,也不报错,防火墙捕捉到了程序连接网络的请求,但是连接地址总是本地127.0.0.1。请哪位高人帮我指点一下这是怎么回事?我使用的JDIC包版本是jdic-20061102-bin-win.zip(在附件中)代码如下:import org.jdesktop.jdic.browser.*;
import java.net.*;
import javax.swing.*;
public class BrowserTest {
    public static void main(String[] args) throws Exception {        WebBrowser browser = new WebBrowser();
        URL url = new URL("http://java.net");
        browser.setURL(url);
        JFrame frame = new JFrame("Browser Test");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(browser);
        frame.pack();
        frame.setSize(300, 300);
        frame.setVisible(true);    }
}

解决方案 »

  1.   

    原因是WebBrowser是canvas的子类,必须放在JPanel下
      

  2.   

    我做了如下修改还是不管用:
    import org.jdesktop.jdic.browser.*;
    import java.net.*;
    import javax.swing.*;public class BrowserTest {
        public static void main(String[] args) throws Exception {        WebBrowser browser = new WebBrowser();
            URL url = new URL("http://java.net");
            browser.setURL(url);
            JFrame frame = new JFrame("Browser Test");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            JPanel JP = new JPanel();
            frame.add(JP);  

            JP.add(browser.asComponent());
            frame.pack();
            frame.setSize(300, 300);
            frame.setVisible(true);    }
    }
      

  3.   

    改成这样试试:
    Container contentPane = frame.getContentPane();contentPane.setLayout(new GridLayout(1, 1));
    ...contentPane.add(browser);