2012-07-22 59 views
1

我想用SWT库做一个简单的浏览器。尽管我试图让对象锚定到左上角,但我遇到了问题。如何“锚定”SWT小部件?

我使用Eclipse并使用布局助手我将锚设置为左上角和所有其他选项。

基本上我希望浏览器控件自动调整大小。谢谢! :d

我使用的布局类型的形式布局(有人建议在SWT帮助页面上使用的锚。)

+0

这个问题太广泛了。一般来说'FormLayout'可能是你想要的,但为了提供精确的帮助,你应该在你的问题中更精确。尝试发布一些(简单)代码并描述结果与你想要的不同。 – 2012-07-23 01:35:46

+0

@ E-Riz 基本上我试图让浏览器保持链接到实际窗口的两侧。如果我要粘贴代码,它只是Eclipse生成的代码,我认为这不会有帮助。但是,我会提供它:) http://pastebin.com/pnLHptc0 该代码使窗口运行良好,但是当您尝试展开窗口时,浏览器对象保持不变。 – russjr08 2012-07-23 02:07:51

回答

2

对于你正在试图做(小部件连接到两侧它的父类),使用单参数构造函数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 page也可能有一些例子。

+1

谢谢,我正在寻找什么!没有“RTFM(文档)”,你举了一个例子,甚至提示!谢谢你成为那些**好人之一! – russjr08 2012-07-23 08:37:36

相关问题