【发布时间】:2014-06-03 10:12:58
【问题描述】:
我正在用 Java SWT 编写一个小型文本编辑器。 如果对象“Text”的文本字段被修改,监听器必须将布尔值设置为 true,即文本字段已更改。当我想退出编辑器时,它应该要求我保存文本字段是否已更改。但是布尔变量只在它们的 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就可以了。还有为什么要把它传递给文本字段构造函数? -
我使用布尔值而不是原始布尔值,因为我必须将布尔变量的引用传递给 Check if the variable is changeant to true ...
-
你为什么不给你的类添加一个返回布尔值的get函数呢?
-
你的意思是我的 modifylisfener 的 get 函数吗?
-
将其添加到 ModifyListenerTextField 并返回布尔值