繁体   English   中英

奇怪的行为-Mac OS X上的SWT浏览器

[英]Odd behavior - SWT Browser on Mac OS X

这是一种奇怪的行为,没有图片很难解释,所以我会尽力而为。

我的应用程序具有嵌入式SWT浏览器小部件,并且该应用程序是跨平台的。 它在Windows上可以完美运行,但需要支持Mac OS X 10.4及更高版本。 浏览器窗口小部件位于右侧的组合中,而另一组合中的文件树位于左侧。 用户从树中单击文件,然后将文件解密并显示在浏览器中。

我目前正在Mac 10.4.11上测试该应用程序,并且这种奇怪的行为仅在我调整Shell窗口大小时才会发生。 复合和浏览器窗口小部件本身可以正确调整大小。 我可以看到对象的边界/边界。 问题在于应该在浏览器中的图像-移位了(几乎就像显示的图像没有锚定在浏览器的左上角一样)。 它从上到下对齐,并且图像本身是正确的尺寸,但是在调整大小后图像会移动。 最初加载时,该应用程序看起来不错(意味着图像对齐完美),当文件树被隐藏并且浏览器/复合材料占据了整个外壳时,该应用程序看起来很好,而在恢复文件树时,该应用程序看起来很好。 仅在调整大小时会发生这种情况。

我希望这是有道理的。 有任何想法吗?

好吧,我想通了。 这是我刚开始使用伪代码时的内容:

webBrowser.setSize(shell.width,shell.height);

webComposite.getParent()布局();

事实证明,我需要以与还原文件树时相同的方式来还原浏览器及其组合(因为我知道该操作后它的大小正确)。 上面的代码被替换为:

webComposite.setLayoutData(new GridData(SWT.LEFT,SWT.TOP,true,true));

webComposite.setBounds(widthOfTreeComposite,0,shell.width,shell.height);

webComposite.setSize(shell.width,shell.height);

webBrowser.setLayoutData(new GridData(SWT.LEFT,SWT.TOP,true,true));

webBrowser.setBounds(0,0,shell.width,shell.height);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM