初始化后是否可以更改SWT控件的style bits?我知道我可以将它们传递给构造函数,但是我想知道在调用构造函数之后是否也可以更改它们。我知道我可以为布局相关信息这样做,但是例如组合框上的SWT.READ_ONLY
这样的位怎么样?
是否有(虚构代码):
Combo cmbExample = new Combo(s, SWT.NONE);
// ...
cmbExample.setStyleBit(SWT.READ_ONLY);
答案 0 :(得分:2)
不,样式位是固定的,无法更改。
这样做的一个原因是平台的SWT实现可能实际上根据样式创建完全不同的本机控件。
例如,在macOS上,只读Combo
使用NSPopUpButton
,而读写Combo
使用NSComboBox
。
偶尔存在异常 - StyledText
setEditable
覆盖SWT.READ_ONLY
样式,但大多数控件都不会这样做。