我正在用Java SWT编写一个小型文本编辑器。 如果修改了对象“文本”的文本字段,则监听器必须将布尔值设置为true,以更改文本字段。当我想退出编辑器时,如果文本框被更改,它应该问我保存。但布尔变量只在其ModifyListener中更改它们的值? 如果我推退出按钮,selectionlistener反应,它应该问我保存,但它没有要求。Java SWT ModifyListener设置布尔变量
我的失败是什么?
public class ModifyListenerTextField implements ModifyListener {
private Boolean changedTextField;
public ModifyListenerTextField(Boolean changedTextField){
this.changedTextField = changedTextField;
}
@Override
public void modifyText(ModifyEvent arg0) {
if(!changedTextField.booleanValue()){
changedTextField = Boolean.TRUE;
}
}
}
请发布完整的代码并澄清哪些内容无效。注意:这里不需要使用'Boolean','boolean'就可以。为什么你将它传递给文本字段构造函数? – Baz
我使用布尔代替原始布尔值,因为我必须通过布尔变量的引用来检查变量是否变为真... – Oni1
为什么你不只是添加一个get函数到你的类,返回布尔? – Baz