java - 如何根据某些变量在小部件上应用各种样式?

标签 java eclipse widget styles swt

我想根据变量在文本小部件中应用水平滚动。

我是这样做的:

    int style = (SWT.BORDER | SWT.V_SCROLL | SWT.CANCEL | SWT.MULTI);

    if (!editable) {
        style = (style | SWT.READ_ONLY);
    }

    if (horizontalScroll) {
        style = (style | SWT.H_SCROLL);
    }

    text = new Text(composite, style);

问题是,即使horizo​​ntalScroll boolean 值为假,水平滚动也始终存在。这不是正确的方法吗?

最佳答案

SWT.CANCEL 不是 SWT 文本小部件支持的样式。

在这种情况下,您很不幸,因为 SWT.CANCEL 值等于 SWT.H_SCROLL,因此通过添加取消样式,您实际上是在添加水平滚动。

SWT 文本小部件支持的样式:CENTER、ICON_CANCEL、ICON_SEARCH、LEFT、MULTI、PASSWORD、SEARCH、SINGLE、RIGHT、READ_ONLY、WRAP。

继承支持的样式:H_SCROLL、V_SCROLL、BORDER、LEFT_TO_RIGHT、RIGHT_TO_LEFT、FLIP_TEXT_DIRECTION

您应该检查是否存在一些规则,某些样式不能组合在一起(例如 SWT.SINGLE 与 SWT.MULTI)。

关于java - 如何根据某些变量在小部件上应用各种样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53266699/

相关文章:

android - 在APK META-INF/maven/com.nineoldandroids/library/pom.xml中复制的重复文件

java - Tomcat 7 问题 - 无法启动服务器实例

javascript - Tripadvisor 小部件在 ajax 页面加载时无法加载

java - 区分两个不同 jar 文件中的相同类名

eclipse - 由于错误,无法从 Web 服务生成 WSDL

forms - Symfony2 表单部件容器属性

widget - 你能改变 Flutter 中 ExpansionTile 的高度吗?

java - 本地主机/127.0.0.1 :9042] Cannot connect

java - Java 中一个方法返回的输出作为另一个方法的输入?

java - 在 JTable 中显示图像