验证了JTextField,而在
我有一个文本框,我想在输入时验证文本框的输入。就像google注册表单一样。我试图使用线程。但它看起来像一团糟。
您不必在输入时使用线程来检查输入。您可以使用为此实现的DocumentListener。
如您在文本字段中键入它可以收听到的文本框的变化,即类型的字符/删除字符。
谢谢。我发现Document Listener非常有用。我了解insertUpdate()和removeUpdate方法。但是我实际上并不知道何时使用changedUpdate方法。你能告诉我一个例子吗? – John
@John只是使用insertUpdate和removeUpdate。 changedUpdate可以留空。如果我的解决方案解决了您的问题,您可以接受我的解决方案。 – user3437460
是的。尽管我明白了。更改更新仅在更改输入的大小,字体...时发生。无论如何,再次感谢你。 – John
您可以使用KeyListener的这个文本字段。
这是例子:
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.*;
public class JtextField {
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame f= new JFrame("TextField Example");
JTextField t1;
t1=new JTextField("Welcome, Give me a world");
t1.setBounds(50,100, 200,30);
f.add(t1);
f.setSize(400,400);
f.setLayout(null);
f.setVisible(true);
t1.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
System.out.println("keyTyped");
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
System.out.println("keyReleased");
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
System.out.println("keyPressed");
}
});
}
}
请勿使用KeyListener。 Swing使用“DocumentListener”的答案建议使用更新,更好的API。 – camickr
看看[这里](https://stackoverflow.com/questions/23134329/jtextfields-real-time-formatting-of-user-input),你可能会找到有用的东西。 –
@VasilisG。,no。不要使用KeyListener。使用DocumentListener或JFormattedTextField。 – camickr