我使用 PropertyChangeListener
进行 JTextFields
监听值更改,它工作正常,当我将它与 JTextArea 一起使用时
;代码没有错误,可以正常编译。但是,当 JTextField
文本值发生某些更改时,此方法会显示响应,但当涉及 JTextArea
时,则不会响应。
这就是我编写代码的方式
构造函数内部:
textField_1.addPropertyChangeListener("value", new ChangeListener());
textField_2.addPropertyChangeListener("value", new ChangeListener());
textArea.addPropertyChangeListener("value", new ChangeListener());
类(class)内的某个地方:
private class ChangeListener implements PropertyChangeListener
{
@Override
public void propertyChange(PropertyChangeEvent e)
{
Object source = e.getSource();
if ((source == textField_1) || (source == textField_2) || (source == textArea))
{
System.out.println("some value changed "+ source.getClass());
}
}
}
每次更改这些组件文本值时,我都会使用新值。
谢谢
最佳答案
使用DocumentListener用于监听JTextArea中的变化
从此Listener您可以向 PropertyChangeListener 触发一个新事件
仅在需要的情况下才向
PropertyChangeListener
触发新事件,从本描述中无法得知,为了更好地帮助尽快发布 SSCCE
关于Java:JTextArea 的 PropertyChangeListener 无响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14506753/