日期:2014-05-20  浏览次数:20663 次

请教一个DJ NativeSwing自动关闭打开窗口的问题
小弟用DJ Native做了个模拟登入的小程序, 一切都OK,现在就有一个窗口打开的问题没有解决,看那位大侠知道的指点一下。。

  问题描述:
  如果一个系统登入后跳转到另外一个页面,这个页面把工具栏和菜单栏给去掉了,他会在一个弹出新窗口打开, 如果有多个用户循环模拟登入,,那么会打开很多窗口, 不知道这个弹出窗口可以关闭吗? 或者别的什么方法处理一下。

我的模拟登入的代码:
正常情况下我打开的页面会在plBrowser(JPanel)中打开,但出现上面那种情况,会弹出一个窗口。
Java code

    public void oneByOneOpenSys() {
        if (allUrls.size() > 0) {
            NativeInterface.initialize();
            NativeInterface.open();
            String url = allUrls.get(0).toString();
            plBrowser.removeAll();
            JPanel webBrowserPanel = new JPanel(new BorderLayout()); 
            webBrowserPanel.setBorder(BorderFactory.createTitledBorder("KR-Browser"));  
            JWebBrowser webBrowser = new JWebBrowser();
            webBrowser.setBarsVisible(false);
            webBrowser.setButtonBarVisible(false);
            webBrowser.setDefaultPopupMenuRegistered(false);
            webBrowser.navigate(url);
            webBrowserPanel.add(webBrowser);
            plBrowser.add(webBrowserPanel);
            webBrowser.addWebBrowserListener(new WebBrowserAdapter() {
                @Override
                public void loadingProgressChanged(WebBrowserEvent e) {
                    if (e.getWebBrowser().getLoadingProgress() == 100) {
                        // int position = webBrowser.getHTMLContent().indexOf("找不到服务器");
                        allUrls.remove(0);
                        
                        oneByOneOpenSys();
                    }
                }
            });
        }
    }



------解决方案--------------------
你要把需要显示的panel 添加到plBrowser(JPanel) 这里面吧,初始化隐藏它,登录用户的时候再显示,再把登录的panel隐藏!