首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从GUI生成器验证InputVerifier

从GUI生成器验证InputVerifier
EN

Stack Overflow用户
提问于 2016-09-25 10:44:09
回答 1查看 170关注 0票数 0

我使用Gui (拖放)创建了一些JTextFieldsJComboBox,并添加了提交触发器JButton。我想通过检查textfields是否为空来验证Swing控件,在我的GUI中调用方法verify()

验证类

代码语言:javascript
复制
public class validation extends InputVerifier
{
  @Override
  public boolean verify(JComponent input) 
  {
    String text = null;
    String cb = null;

    if(input instanceof JTextField)
    {
        text = ((JTextField) input).getText();
    }
    else if(input instanceof JComboBox)
    {
        cb = ((JComboBox) input).getSelectedItem().toString();
    }

    return true;
  }
}

AddEmployee

我已经创建了一个类验证实例。

代码语言:javascript
复制
public class AddEmployee extends javax.swing.JInternalFrame{

/**
 * Creates new form AddEmployee
 */
validation v = new validation();

   private void addButtonActionPerformed(java.awt.event.ActionEvent evt){
      String lastName = tfLastName.getText();
      String firstName = tfFirstName.getText();

      tfLastName.setName("lastName");
      tfFirstName.setName("firstName");

      v.verify(tfLastName,tfFirstName);
   }

}//end of AddEmployee

当我试图在JTextFields方法中传递verify()的变量名时,它会抛出一个错误。

没有找到合适的验证方法(JTextFields,JTextFields) InputVerifier.verify不适用

我所做的是在验证类下创建了一个void方法。

代码语言:javascript
复制
public void verify(JTextField tfLastName, JTextField tfFirstName) {

}

问题

  • 我应该在哪里验证文本字段?我应该在AddEmployee还是validation类下进行验证?

任何帮助或提示,我将非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-25 10:59:23

最佳实践:当您创建JTextField时,将验证器分配给它:

代码语言:javascript
复制
  tfLastName.setInputVerifier(new validation());

顺便说一句:使用正确的java命名约定:V

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39685958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档