mtc*_*aka 7 java validation swing
我有个问题.我创建了一个Swing GUI表单.此表单包含JTextFields,JComboBox组件.
现在我想做什么,当用户按下完成按钮我想验证JTextFields和JComboBox组件.我想为所有JTextFields编写通用方法,为JComboBoxes编写另一种常用方法.有谁知道验证API?
我不需要逐个验证所有字段.
这里的一个选择是使用Swing InputVerifier来验证每个JComboBox和JTextField使用的输入.您可以在组件之间共享通用验证器:
   public class MyNumericVerifier extends InputVerifier {
        @Override
        public boolean verify(JComponent input) {
           String text = null;
           if (input instanceof JTextField) {
             text = ((JTextField) input).getText();
           } else if (input instanceof JComboBox) {
             text = ((JComboBox) input).getSelectedItem().toString();
           }
           try {
              Integer.parseInt(text);
           } catch (NumberFormatException e) {
              return false;
           }
           return true;
        }
        @Override
        public boolean shouldYieldFocus(JComponent input) {
           boolean valid = verify(input);
           if (!valid) {
              JOptionPane.showMessageDialog(null, "Invalid data");
           }
           return valid;
       }
    }
InputVerifier verifier = new MyNumericVerifier()
comboBox.setInputVerifier(verifier);
如果"验证"意味着"检查所有字段"......那么,是的 - 您的"验证"例程将逐个检查所有字段:)
您还可以"随时验证".有很多方法可以实现这一目标,包括:
| 归档时间: | 
 | 
| 查看次数: | 21101 次 | 
| 最近记录: |