当我在一个或两个 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/