gpt4 book ai didi

java - 如何 "anchor"SWT 小部件?

转载 作者:行者123 更新时间:2023-11-30 04:43:48 25 4
gpt4 key购买 nike

我正在尝试使用 SWT 库制作一个简单的浏览器。尽管尝试将对象锚定到左上角等,但我遇到了问题。

我正在使用 Eclipse 并使用布局助手将 anchor 设置为左上角以及所有其他选项。

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

我使用的布局类型是表单布局(SWT 帮助页面上建议使用 anchor 。)

最佳答案

对于您想要执行的操作(将小部件附加到其父级的侧面),使用 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 上可能也有一些例子.

关于java - 如何 "anchor"SWT 小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11604603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com