Java 向多个文本字段添加文本字段验证

Java 向多个文本字段添加文本字段验证,java,swing,validation,jtextfield,inputverifier,Java,Swing,Validation,Jtextfield,Inputverifier,我试图只使用数字字符(0-9)向4个JTextFields添加验证。我对一个JTextField的代码是: txtf_xCoord.addKeyListener(new KeyAdapter() { @Override public void keyTyped(KeyEvent keyEvent) { if (txtf_xCoord.getText().length() < 3 && keyEv

我试图只使用数字字符(0-9)向4个JTextFields添加验证。我对一个JTextField的代码是:

txtf_xCoord.addKeyListener(new KeyAdapter()
    {
        @Override
        public void keyTyped(KeyEvent keyEvent)
        {
            if (txtf_xCoord.getText().length() < 3 && keyEvent.getKeyChar() >= '0' && keyEvent.getKeyChar() <= '9')
            {
                // Optional
                super.keyTyped(keyEvent);
            }
            else
            {
                // Discard the event
                keyEvent.consume();
            }
        }
    });
txtf\u xCoord.addKeyListener(新的KeyAdapter()
{
@凌驾
public void keyTyped(KeyEvent KeyEvent)
{
如果(txtfxcoord.getText().length()<3&&keyEvent.getKeyChar()>='0'&&keyEvent.getKeyChar()您可以使用,请查看以下代码:

public class NumericVerifier extends InputVerifier {
        @Override   
    public boolean verify(JComponent input) {
            //Check type of the control
                String text = "";

if(input instanceof JTextField) {   
                JTextField tf = (JTextField) input; 
                text = tf.getText().trim(); 
            }

        boolean matches = text.matches("^\\d+$");
        input.setBackground( ( matches ) ? Color.WHITE :  Color.RED);
        return matches; 
    }   
}
您可以使用,请查看以下代码:

public class NumericVerifier extends InputVerifier {
        @Override   
    public boolean verify(JComponent input) {
            //Check type of the control
                String text = "";

if(input instanceof JTextField) {   
                JTextField tf = (JTextField) input; 
                text = tf.getText().trim(); 
            }

        boolean matches = text.matches("^\\d+$");
        input.setBackground( ( matches ) ? Color.WHITE :  Color.RED);
        return matches; 
    }   
}

您可以将匿名类转换为真实类,然后到处实例化该类。现在,您还可以查看
JFormattedTextField

您可以将匿名类转换为真实类,然后到处实例化该类。现在,您还可以查看
JFormattedTextField

  • 最简单、最安全的方法是向

  • 不要使用Swing JComponent,而是使用

  • 在音乐中聆听音乐的人在那里

      • 最简单、最安全的方法是向

      • 不要使用Swing JComponent,而是使用

      • 在音乐中聆听音乐的人在那里


      创建一个从JTextField扩展的类,并在其中添加您的侦听器。并且在您的程序的任何地方都创建该类。@medhi-错误…您从未在Swing中使用KeyListener,尤其是在验证文本输入时。创建一个从JTextField扩展的类,并在其中添加您的侦听器。并且在您的程序的任何地方都创建该类@medhi-错了…您从未在Swing中使用KeyListener,尤其是不用于验证文本输入