在mac

时间:2015-05-28 11:02:38

标签: macos browser swt osx-yosemite

我的SWT浏览器出了问题。我使用的是Mac OS X Yosemite。 浏览器深深地位于复合层次结构中。即,shell表示复合A,复合A表示复合B,复合B表示复合C,浏览器放在复合C中。我为浏览器添加了位置监听器和进度监听器。

  

GridDataFactory,GridLayoutFactory来自org.eclipse.jface.layout包。

Composite compositeC= new Composite(compositeB, SWT.BORDER);

GridLayoutFactory.fillDefaults().numColumns(1).applyTo(compositeC);
GridDataFactory.fillDefaults().grab(true, true).applyTo(compositeC);

Browser browser = new Browser(compositeC, SWT.None);
GridDataFactory.fillDefaults().grab(true, true).applyTo(browser);


browser.addLocationListener(new LocationListener() {
            @Override
            public void changing(LocationEvent event) {

            }

            @Override
            public void changed(LocationEvent event) {

            }

        });

        browser.addListener(SWT.Resize, new Listener() {
            @Override
            public void handleEvent(Event e) {

            }
        });

        browser.addProgressListener(new ProgressListener() {

            @Override
            public void completed(ProgressEvent event) {
                browser.layout(true, true);

            }

            @Override
            public void changed(ProgressEvent event) {


            }
        });

        browser.setUrl("http://eclipse.org");

        compositeC.layout(true);
        compositeC.redraw();

但是在我调整Shell大小之前,浏览器中加载的页面是不可见的。我尝试在Progress Listener的completed()方法中重绘shell。但似乎没有任何效果。

相同的代码在Windows中运行得非常好。我在这里做错了什么,或者在MAC上呈现的Webkit存在一些问题。

0 个答案:

没有答案