Java SWT文本小部件的清除状态

Java SWT文本小部件的清除状态,java,widget,swt,state,Java,Widget,Swt,State,我有这个功能: public static void changeState(Text control,final int style) { if (SWT.ENABLED == (style & SWT.ENABLED)) { MyService.setState(control, SWT.ENABLED); } if (SWT.DISABLED == (style & SWT.DISABLED)) { MySer

我有这个功能:

public static void changeState(Text control,final int style)
{   
    if (SWT.ENABLED == (style & SWT.ENABLED)) {
        MyService.setState(control, SWT.ENABLED);

    }
    if (SWT.DISABLED == (style & SWT.DISABLED)) {
        MyService.setState(control, SWT.DISABLED);

    }
    if(SWT.READ_ONLY == (style & SWT.READ_ONLY)){
        MyService.setState(control, SWT.READ_ONLY);
    }
}
我想在设置其他状态之前清除小部件的当前状态

我创建了一个文本对象,将其状态设置为非活动状态,之后我尝试将其设置为只读,但它不起作用,这就是为什么我尝试创建一个清除当前状态的函数,以便能够更改同一对象的状态

我该怎么做


也许有一些函数可以做到这一点,但我找不到。

没有像
SWT.ENABLED
SWT.DISABLED
这样的标志

使用启用/禁用控件

control.setEnabled(boolean);
control.setEditable(boolean);
您可以使用更改
文本
控件的只读状态

control.setEnabled(boolean);
control.setEditable(boolean);

请注意,一旦创建控件,大多数其他样式位就无法更改。

我如何设置小部件不具有任何样式?您所说的“不具有任何样式”是什么意思?创建控件后,许多样式位无法更改。@GritcoAndreea没有告诉小部件不要有状态的概念。它只有一个默认状态(已启用),可以将其关闭。您可以通过getEnabled()获取当前状态。