如何将infiniteProgress添加到webbrowser

时间:2016-01-10 22:27:07

标签: java codenameone

我有两个问题:

  1. webBrowserBrowserComponent之间有什么区别?

  2. 我是否可以将infiniteProgress添加到webbrowserinfiniteProgress只有在webbrowser满载时才会自动处理。

1 个答案:

答案 0 :(得分:3)

您可以使用类似

的内容
InfiniteProgress prog = new InfiniteProgress();
final Dialog dlg = prog.showInifiniteBlocking();
final WebBrowser wb = findLoginWebBrowser();
((BrowserComponent) wb.getInternal()).setBrowserNavigationCallback(
    new BrowserNavigationCallback() {
        public boolean shouldNavigate(String url) {
            //your condition
            if(xyz){
                Display.getInstance().callSerially(new Runnable() {
                    public void run() {
                        //do whatever you wants
                        dlg.dispose();
                    }
                });
            }
        }
    }
);

但是当您知道要传递/处理的URL时,此工作将会有效。

WebBrowserBrowserComponent的更一般的专业化。旧设备不支持BrowserComponent API,WebBrowser非常智能,可以检测到旧版HTMLComponent API并回退。

如果您只定位现代智能手机但未定位RIM设备,请直接使用BrowserComponent