【问题标题】:button doesn't turn disabled when textArea is empty当 textArea 为空时,按钮不会被禁用
【发布时间】:2016-07-20 02:41:41
【问题描述】:

我向 jTextArea 添加了一个 documentListener,当 textArea 为空时,它应该设置一个禁用按钮。 这仅在 textArea 为空时的起点起作用,但是当我键入内容然后删除所有文本直到textArea.getText() == "" 时,该按钮仍然不会再次禁用。 这是我写的:

textArea.getDocument().addDocumentListener(new DocumentListener() {
            @Override
            public void insertUpdate(DocumentEvent e) {

                if (textArea.getText() == null) {
                    disableButton();
                } else {
                    enableButton();
                } 



            }

            @Override
            public void removeUpdate(DocumentEvent e) {

                if (textArea.getText() == null) {
                    disableButton();
                } else {
                    enableButton();
                }

            }

            @Override
            public void changedUpdate(DocumentEvent e) {

                if (textArea.getText() == null) {
                    disableButton();
                } else {
                    enableButton();
                }
            }

            public void enableButton() {
                clearModelMenuItem.setEnabled(true);
                discardModel.setEnabled(true);
                increaseFontSize.setEnabled(true);
                decreaseFontSize.setEnabled(true);
                incMenuItem.setEnabled(true);
                decMenuItem.setEnabled(true); 
            }

这里有什么问题? 感谢您的帮助!

【问题讨论】:

  • textArea.getText() == null更改为textArea.getText().isEmpty()
  • What is the problem here? - 你的SSCCE在哪里,就像你之前的许多问题一样?您的调试代码在哪里显示您正在测试的变量的值,就像您在之前的问题中被要求做的那样?在发布问题之前进行自己的基本调试。

标签: java swing documentlistener


【解决方案1】:

这是因为您实际上并没有检查文本是否为空;你正在检查它是否是null。为空的 String 和为 nullString 之间存在区别。

你需要检查

if ("".equals(textArea.getText())) ...

如果要检查是否为空。

(您可能还想检查null。)

【讨论】:

    猜你喜欢
    • 2013-11-17
    • 1970-01-01
    • 2013-02-08
    • 1970-01-01
    • 2020-02-18
    • 2022-06-12
    • 1970-01-01
    • 1970-01-01
    • 2016-05-13
    相关资源
    最近更新 更多