作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
--编辑--
我有一个 JTextField,我希望每次有人更改(键入或删除)JTextField 中的字符时调用一个方法(现在只是打印语句)。其背后的目的是让该方法立即检查键入的内容是否满足某些条件。感谢您的帮助,我成功地写了:
public class MyDocumentListener implements DocumentListener {
public void insertUpdate(DocumentEvent e) {
updateLog(e, "inserted into");
}
public void removeUpdate(DocumentEvent e) {
updateLog(e, "removed from");
}
public void changedUpdate(DocumentEvent e) {
//Plain text components do not fire these events
}
public void updateLog(DocumentEvent e, String action) {
System.out.println("should call the method here");
}
}
JTextField 代码:
JTextField passwordField = new JTextField();
passwordField.getDocument().addDocumentListener(new MyDocumentListener());
passwordField.getDocument().putProperty("name", "Text Field");
我现在遇到的问题是我需要使用
String textFieldPassword = passwordField.getText();
但它返回NullPointerException
。我假设这是因为我添加了 DocumentListener
并且现在应该在 DocumentEvent
上操作。但我真的不知道该怎么做。
最佳答案
您想要该字段的操作监听器:
public class YourClass extends JPanel implements ActionListener {
public void addComponents() {
...
passwordField.addActionListener(this);
...
}
/**
will be fired when the password field changes
*/
public void actionPerformed(ActionEvent evt) {
String text = passwordField.getText();
System.out.println("key pressed");
}
}
如果这不符合您的口味,那么您可以尝试 DocumentListener .
关于java - 每次 JPasswordField 中的文本更改时调用一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9354376/
我是一名优秀的程序员,十分优秀!