如何防止调整 SWT 组合的大小?
How to prevent resizing of a SWT combo?
当我调用 setItems(String[])
时,组合框会变宽以适应新项目的长度。
如何让它无论新项目有多宽都不能调整大小?
我已经用 ControlListener
试过了。我保存了组合的初始大小,并在每次调用 controlResized()
时设置它。结果,组合宽度保持不变,但 UI 的其余部分在我调整它的大小时看起来很难看。它是一个向导。我正在使用 GridLayout
如果您使用 GridLayout
作为布局,您可以在布局数据中为组合指定 widthHint
。
GridData data = new GridData(....);
data.widthHint = 100;
combo.setLayoutData(data);
如果这是在对话框中,您可以使用 convertWidthInCharsToPixels(chars)
以字符而不是像素指定宽度。 Dialog
也有此方法的静态版本,您可以在对话框外使用。
当我调用 setItems(String[])
时,组合框会变宽以适应新项目的长度。
如何让它无论新项目有多宽都不能调整大小?
我已经用 ControlListener
试过了。我保存了组合的初始大小,并在每次调用 controlResized()
时设置它。结果,组合宽度保持不变,但 UI 的其余部分在我调整它的大小时看起来很难看。它是一个向导。我正在使用 GridLayout
如果您使用 GridLayout
作为布局,您可以在布局数据中为组合指定 widthHint
。
GridData data = new GridData(....);
data.widthHint = 100;
combo.setLayoutData(data);
如果这是在对话框中,您可以使用 convertWidthInCharsToPixels(chars)
以字符而不是像素指定宽度。 Dialog
也有此方法的静态版本,您可以在对话框外使用。