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

时间:2018-11-12 16:51:33

标签: java eclipse widget styles swt

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

我是这样做的:

    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);

问题在于,即使水平滚动布尔值为false,水平滚动始终存在。不是正确的方法吗?

谢谢

1 个答案:

答案 0 :(得分:2)

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

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

SWT文本窗口小部件支持的样式:CENTER,ICON_CANCEL,ICON_SEARCH,左,多,密码,搜索,单,右,READ_ONLY,WRAP。

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

您应该检查一些规则,某些样式不能一起使用(例如SWT.SINGLE和SWT.MULTI)。