java - 更改已初始化控件的样式位

标签 java swt

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

有没有什么(虚构的代码):

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

最佳答案

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

其中一个原因是平台的 SWT 实现实际上可能会根据样式创建完全不同的 native 控件。

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

偶尔会有异常(exception) - StyledText 具有覆盖 SWT.READ_ONLY 样式的 setEditable,但大多数控件不会这样做。

关于java - 更改已初始化控件的样式位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39658560/

相关文章:

java - 如何动画 View 的高度?

java - 图像魔术java

java - 从堆栈跟踪 : "MyClass.java:1" 中的第一行调用方法

确认脚本中的 Javascript IIF

java - 设置 Java SWT shell 窗口内部区域的大小

java - 带有选择器的 FrameLayout 前景

java - 设置 SWT.FULL SELECTION 时,SWT TreeViewer 同时展开和折叠

java - 如何占用Eclipse UI中的可用空间?

java - 如何从 eclipse-plugin 中的代码中选择 TreeView 节点

java - 获取 SWT TabFolder 中的 Activity 选项卡