user3806649
user3806649

Reputation: 1307

how can understand that the DJ native swing jwebbrowser has been completely load the web page?

I want to execute my javascript code in DJ native swing jwebbrowser, but I should wait for the page loading, how can I set listener for it? I try the following, but after loading it always run the script also it operate late!

webBrowser.addWebBrowserListener(new WebBrowserListener(){

        @Override
        public void commandReceived(WebBrowserCommandEvent arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void loadingProgressChanged(WebBrowserEvent arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void locationChangeCanceled(WebBrowserNavigationEvent arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void locationChanged(WebBrowserNavigationEvent arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void locationChanging(WebBrowserNavigationEvent arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void statusChanged(WebBrowserEvent arg0) {
            // TODO Auto-generated method stub
            if(webBrowser.getLoadingProgress() == 100)
                webBrowser.executeJavascript("some js code");");
        }

        @Override
        public void titleChanged(WebBrowserEvent arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void windowClosing(WebBrowserEvent arg0) {
            // TODO Auto-generated method stub
            frame.dispose();
        }

        @Override
        public void windowOpening(WebBrowserWindowOpeningEvent arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void windowWillOpen(WebBrowserWindowWillOpenEvent arg0) {
            // TODO Auto-generated method stub

        }

    });

what should i do?

Upvotes: 2

Views: 1030

Answers (1)

user3806649
user3806649

Reputation: 1307

I should override loadingProgressChanged(WebBrowserEvent arg0) not statusChanged(WebBrowserEvent arg0)

@Override public void loadingProgressChanged(WebBrowserEvent arg0) { // TODO Auto-generated method stub if(webBrowser.getLoadingProgress() == 100) webBrowser.executeJavascript("some js code"); }

but still it takes time to load my html!

Upvotes: 2

Related Questions