改变初始化控件的样式位

时间:2016-09-23 10:29:33

标签: java swt

初始化后是否可以更改SWT控件的style bits?我知道我可以将它们传递给构造函数,但是我想知道在调用构造函数之后是否也可以更改它们。我知道我可以为布局相关信息这样做,但是例如组合框上的SWT.READ_ONLY这样的位怎么样?

是否有(虚构代码):

Combo cmbExample = new Combo(s, SWT.NONE);
// ...
cmbExample.setStyleBit(SWT.READ_ONLY);

1 个答案:

答案 0 :(得分:2)

不,样式位是固定的,无法更改。

这样做的一个原因是平台的SWT实现可能实际上根据样式创建完全不同的本机控件。

例如,在macOS上,只读Combo使用NSPopUpButton,而读写Combo使用NSComboBox

偶尔存在异常 - StyledText setEditable覆盖SWT.READ_ONLY样式,但大多数控件都不会这样做。