作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在 ScrolledComposite(sc) 中有一个 composite(innerComposite)。在运行时,可以添加额外的 UI 组件。因此,我使用下面的代码来设置 sc 的最小大小以启用滚动,以防其他 UI 组件“溢出”sc。
sc.setMinSize(
innerComposite.computeSize(
innerComposite.getSize().x, SWT.DEFAULT
)
);
一个问题是此 sc/innerComposite 中的 SWT 多行文本字段。
textBox = new org.eclipse.swt.widgets.Text(parent, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL);
当我在这个多行文本字段中输入长文本时,会出现垂直滚动条(这正是我想要的!)。但是,当我调用上面的代码重新计算大小并设置 sc.setMinSize() 时...多行文本字段的高度将扩展以适应输入文本的长度。这不是我想要的。我希望此高度与滚动条保持一致,而不是调整大小以适应输入的文本。
我知道 computeSize
会转换它的 child 以调整到首选大小。我不希望这种情况发生在多行文本字段上,因为它具有滚动垂直条的能力。
如何防止这种情况发生?
最佳答案
解决您的问题的另一种方法是编写您自己的自定义布局并将其设置为您的内部组合。这样您就可以准确控制控件的显示方式。
关于java - SWT - ScrolledComposite 内多行文本字段的 computingSize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12834482/
我是一名优秀的程序员,十分优秀!