【发布时间】: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