【问题标题】:Java SWT ModifyListener set a Boolean variableJava SWT ModifyListener 设置一个布尔变量
【发布时间】: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;
     }
 }

}

【问题讨论】:

  • 请发布完整的代码并澄清什么不起作用。注意:这里不需要使用Booleanboolean 就可以了。还有为什么要把它传递给文本字段构造函数?
  • 我使用布尔值而不是原始布尔值,因为我必须将布尔变量的引用传递给 Check if the variable is changeant to true ...
  • 你为什么不给你的类添加一个返回布尔值的get函数呢?
  • 你的意思是我的 modifylisfener 的 get 函数吗?
  • 将其添加到 ModifyListenerTextField 并返回布尔值

标签: java swt


【解决方案1】:

这很简单。你不需要实现任何东西。您可以根据自己的意愿更改以下代码

JTextField field = new JTextField();

field.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                booleanVar = true;
            }
        });

【讨论】:

  • 对不起,弄糊涂了
猜你喜欢
  • 2012-01-01
  • 1970-01-01
  • 2011-11-22
  • 2017-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-28
相关资源
最近更新 更多