2013-10-15 10 views
1

Я создаю графический интерфейс, в котором я использую несколько экземпляров JTextfield для ввода ввода от пользователя. Я хочу указать, что это конкретное (например: имя пользователя) текстовое поле обязательно для заполнения. Как я могу это сделать?Добавление ограничения на 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); 
+0

я думаю, вам нужно будет пройти через обязательные поля на Submit-действия и проверить, если они содержат значения – JohnnyAW

+0

Как вы обрабатываете значения, введенные во всех текстовые поля? – UDPLover

+0

1) Для лучшей помощи раньше, опубликуйте [SSCCE] (http://sscce.org/). 2) Java GUI, возможно, придется работать на нескольких платформах, на разных разрешениях экрана и использовании разных PLAF. Таким образом, они не способствуют точному размещению компонентов. Чтобы организовать компоненты для надежного графического интерфейса, вместо этого используйте менеджеров компоновки или [их комбинаций] (http://stackoverflow.com/a/5630271/418556), а также макеты и границы для [пробела] (http: //stackoverflow.com/q/17874717/418556). 3) Какова была цель пустого изображения в вопросе? –

ответ

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. 
    } 
} 

ИЛИ

Вы можете добавить фокус слушателя к TextFields. И каждое поле может иметь разные фокусы, потерянные в зависимости от ограничения.

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. 
      } 
}); 
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 
       } 

    } 
Смежные вопросы