java - 设置文本后保持 SWT 文本框大小

标签 java eclipse swt

当我在一个或两个 Text 字段上使用 setText() 时,它会将字段的大小调整为文本的长度。我该如何防止这种情况发生?

inner = new Composite(middle, SWT.NONE);
inner.setLayout(new GridLayout(5, false));

chkbxBtn = new Button(inner, SWT.CHECK);
chkbxBtn.setText("Check box button: ");
chkbxBtn.setSelection(false);

new Label(inner, SWT.NONE).setText("Text field 1: ");
startCol = new Text(inner, SWT.BORDER | SWT.NONE);

new Label(inner, SWT.NONE).setText("Text field 2: ");
endCol = new Text(inner, SWT.BORDER | SWT.NONE);

最佳答案

澄清一下,SWT 不会在更改 Text 控件(或一般控件)的文本(或任何其他属性)后重新布局。导致重新布局的是您的代码或调整大小事件。

如果您希望控件具有预设大小,并且其父控件使用 GridLayout,您可以使用 widthHint 设置 GridData > 像这样:

GridData gridData = new GridData();
gridData.widthHint = ...
text.setLayoutData( gridData );

但是,试图控制小部件的大小通常不是一个好主意。因此,请确保您的布局策略符合 UI 设计的最佳实践。

关于java - 设置文本后保持 SWT 文本框大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42797912/

相关文章:

java - 我的线程无法唤醒

java - 将 List 类型转换为 List<T> 的两种方法之间的区别

java - 如何设置标签颜色动画以使其发光?

java - 对文本小部件的 SWT 拖放支持

java - swt浏览器在新窗口中显示pdf

java - 在 Java 中将 Collection<SubClass> 传递到期望 Collection<BaseClass> 的函数失败

java - 在 GWT 中构建 SuggestBox 后添加/修改 SuggestOracle

JavaFX 项目在导出到可运行的 .jar 时中断? FXMLLoader 相关吗?

java - Eclipse 未导入 com.google.api.client。进口?

java - 如何设置项目引用 Eclipse