我正在尝试使用 SWT 库制作一个简单的浏览器。虽然试图让对象锚定到左上角等,但我遇到了问题。
我正在使用 Eclipse 并使用布局助手将锚点设置为左上角和所有其他选项。
基本上我希望浏览器控件自动调整大小。谢谢!:D
我使用的布局类型是表单布局(在 SWT 帮助页面上建议使用锚点。)
对于您要执行的操作(将小部件附加到其父级的两侧),使用FormAttachment
. 这有效:
fd_browser.top = new FormAttachment(0);
fd_browser.left = new FormAttachment(0);
fd_browser.bottom = new FormAttachment(100);
fd_browser.right = new FormAttachment(100);
意思是“将顶部边缘连接到容器的 0% 垂直位置”,“将左边缘连接到 0% 水平位置”,“将底部边缘连接到容器的 100% 垂直位置”,以及“将右边缘附加到容器的 100% 位置。” 换句话说,顶部和左侧边缘将在容器原点 + 0 处,底部和右侧边缘将在容器原点 + 容器大小的 100% 处。这听起来很复杂,但我认为它实际上非常直观。
像您的代码一样使用两个参数 c'tor 指定从容器的 0,0 位置(向下 450 和跨 845)硬编码的偏移量,这实际上是告诉浏览器小部件的大小是固定的。FormLayout 中的偏移量实际上只对设置边距有用,或者,嗯,从容器边缘或其他小部件的偏移量。:-)
我建议再次阅读 FormAttachment 和 FormLayout 的 JavaDocs - 一旦你“得到”它,我认为它对你来说很容易使用。SWT Snippets 页面上也可能有一些示例。