是否也有类似event.getSource的东西用于DocumentListener?我试图更改仅一个JTextField的颜色,在其中更改文本。这是我的DocumentListener:
DocumentListener posluchac = new DocumentListener() { public void changedUpdate(DocumentEvent e) { warn(e); } public void removeUpdate(DocumentEvent e) { warn(e); } public void insertUpdate(DocumentEvent e) { warn(e); } public void warn(DocumentEvent e) { txtName.setBackground(Color.WHITE); txtSurname.setBackground(Color.WHITE); txtPersonalNumber.setBackground(Color.WHITE); txtDateOfBirth.setBackground(Color.WHITE); } };
如果没有与.getSource()DocumentListener 类似的东西。怎么做?
.getSource()
你是正确的,没有getSource()像其他一些听众,但你可以使用文档类的putProperty(),并getProperty()达到你在找什么。
getSource()
putProperty()
getProperty()
你可以做
JTextField jTextField = new JTextField("Text 1"); jTextField.getDocument().putProperty("parent", jTextField);
和
稍后在DocumentListener的事件中,您可以像这样获取父对象
JTextField textField = (JTextField) e.getDocument().getProperty("parent");
e在哪里 DocumentEvent
DocumentEvent