代码之家  ›  专栏  ›  技术社区  ›  Roberto Luis Bisbé

InputVerifier和多个字段

  •  1
  • Roberto Luis Bisbé  · 技术社区  · 15 年前

    我正在开发一个表单,为用户提供“实时”验证,我有一个问题。

    目标是在字段附近放置一个标签(在本例中是JSpinner),以向用户显示数据是被接受还是被拒绝,这与基于javascript的验证器所做的相同。

    问题是要存档这个, 我需要设置相应标签的值

    class MyVerifier extends InputVerifier{
    
        static final double MAX_VALUE = 30;
    
        @Override
        public boolean verify(JComponent input) {
            JTextField tf = (JTextField) input;
            Double value = Double.parseDouble(tf.getText().replace(',', '.'));
            return (value>1);
        }
    
        @Override
        public boolean shouldYieldFocus(JComponent input) {
            boolean isValid = super.shouldYieldFocus(input);
        if (isValid) {
                jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("resources/accept.png")));
                jLabel1.setText("");
        } else {
                jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("resources/exclamation.png")));
                jLabel1.setText("The number of items must be greater than 1");
        }
            return true;
        }
     }
    

    然后,与jLabel2相同的代码。。。一定是另一种方法。

    提前谢谢。

    2 回复  |  直到 15 年前
        1
  •  1
  •   camickr    15 年前

    您可能还需要一个包含错误标签和文本消息的secound Hashmap。

        2
  •  1
  •   walters    15 年前