1

我正在制作一个 GUI,在其中我使用多个JTextfield实例来输入用户的输入。我想指定这个特定的(例如:用户名)文本字段是必须填写的。我怎样才能做到这一点?

 JLabel label_2 = new JLabel("User Name");
            label_2.setBounds(23, 167, 126, 21);
            panel_1.add(label_2);

    textField_2 = new JTextField();
            textField_2.setColumns(10);
            textField_2.setBounds(178, 129, 210, 20);
        panel_1.add(textField_2);
4

3 回答 3

2

您还可以使用JFormattedTextField http://docs.oracle.com/javase/7/docs/api/javax/swing/JFormattedTextField.html

于 2013-10-15T10:41:39.620 回答
1

当用户完成文本字段时,例如当他提交数据时,您可以验证文本字段以查看它是否为空。

例如,如果您使用的是提交按钮。

submitButton.addActionLister(new ActionListner(){
    public void actionPerformed(ActionEvent ae){
       if(textField.getText().length() == 0){
            //notify user that mandatory field is empty.
       }

       //other validation checks.
    }  
}

或者

您可以将焦点侦听器添加到文本字段。根据约束,每个领域都可以有不同的焦点丢失实现。

 textfield.addFocusListener(new FocusListener(){
           @Override
          public void focusGained(FocusEvent fe) {
             // do whatever want like highlighting the field
          }

          @Override
          public void focusLost(FocusEvent fe) {
              //check for constraint as the user is done with this field.
          }
 });
于 2013-10-15T10:32:49.247 回答
0
JLabel label_2 = new JLabel("User Name");
label_2.setBounds(23, 167, 126, 21);
panel_1.add(label_2);

textField_2 = new JTextField();
textField_2.setColumns(10);
textField_2.setBounds(178, 129, 210, 20);
panel_1.add(textField_2);

submit.addActionListener(this);

}

  public void actionPerformed(ActionEvent e)
   {
      //check the text field
       if(textField_2.getText().length()==0)
              {
                   //user_name not set
              }
       else
              {
               //user_name is set
              }

   }
于 2013-10-15T10:49:08.020 回答