如何防止调整 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 也有此方法的静态版本,您可以在对话框外使用。