我正在用Java SWT编写一个小型文本编辑器。 如果修改了对象“Text”的文本字段,则Listener必须将布尔值设置为true,以便更改文本字段。当我想退出编辑器时,如果文本字段被更改,它应该让我保存。但布尔变量仅在其ModifyListener中更改其值? 如果我按下退出按钮,selectlistener会做出反应,它应该让我保存,但它没有要求。
我的失败是什么?
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;
}
}
}
答案 0 :(得分:-1)
这很简单。你不需要实现任何东西。您可以根据遗嘱更改以下代码
JTextField field = new JTextField();
field.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
booleanVar = true;
}
});