2012-01-02 3 views
1

Я пытаюсь принять значения из текстовых полей ниже, чтобы использовать их с parent.addNewRoom(roomNo,roomEnSuite);, но roomEnSuite является логическим значением в родительском классе. Какая правильная процедура для получения логических данных из JTextField?Получить boolean из JTextField

public void actionPerformed(ActionEvent ae)  
    { 
     String item = ae.getActionCommand(); 

     if (item.equals("Confirm"))   
     { 
      String roomNo = nameJTextField.getText(); 
      String roomEnSuiteS = idJTextField.getText(); 
      parent.addNewRoom(roomNo,roomEnSuite); 
      this.dispose(); 
     } 
     else if (item.equals("Cancel"))   
     { 
     parent.resetButtons(); 
     this.dispose(); 
    } 
} 
+2

означает ли пользователь будет вводить в 'True' или 'False' в JTextField? – Neeta

+0

Да, пользователь вводит true или false в JTextField –

+2

LOL. Вы также можете использовать 26 флажков, каждый с другой буквой, чтобы помочь пользователю вводить слова :-) –

ответ

3

чтобы дать полный ответ от моих вышеприведенных комментариев:

Обработки boolean входа с использованием JTextField не будет хорошим способом идти о том, как есть много Varia пользователь может ввести yes/no/true/false, и т.п. неправильное обращение?

с использованием JRadioButton (для одиночных ответов) или JCheckbox (для нескольких ответов) будет лучше пойти об обработке true или false входа. Я бы предложил JRadioButton, так как вы не хотели бы, чтобы пользователь проверял true и false.

http://docs.oracle.com/javase/tutorial/uiswing/components/button.html

1

A JTextField предназначен для обеспечения String с. Так что, если вы не хотите, чтобы пользователь ввести true или false в текстовом поле (или любой другой строку вы разбираете в булев), есть лучшие варианты

  • JCheckBox, который обычно используется для настройки тумблеров, как верно -False
  • JRadioButtons (по одному для каждой установки, поэтому в данном случае два)

А вот link to the corresponding Swing tutorial с примерами о том, как использовать эти кнопки

Но если вы действительно хотите, чтобы есть с текстовым полем, то вы должны get the text от него и разобрать его, используя, например Boolean.valueOf

2

Предполагая, что пользователь ввел строку true или false, вы можете превратить его в boolean с:

boolean value = Boolean.parseBoolean(idJTextField.getText()); 
0

Пока введенное значение всегда будет истинным или ложным, вы можете получить логическое значение, используя;

boolean value = Boolean.parseBoolean(enSuiteJTextField.getText());

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