我正在尝试从下面的文本字段中获取值以与parent.addNewRoom(roomNo,roomEnSuite);
一起使用,但roomEnSuite是父类中的布尔值。从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();
}
}
答案 0 :(得分:3)
从上述评论中给出完整答案:
使用boolean
处理JTextField
输入不是一个好方法,因为用户可以输入yes
/ no
/ {{ 1}} / true
等错误拼写?
使用false
(针对单个答案)或JRadioButton
(针对多个答案)将是处理JCheckbox
或true
输入的更好方式。我建议使用false
,因为您不希望用户选中JRadioButton
和true
。
http://docs.oracle.com/javase/tutorial/uiswing/components/button.html
答案 1 :(得分:2)
假设用户输入了字符串true
或false
,您可以将其转换为boolean
,其中包含:
boolean value = Boolean.parseBoolean(idJTextField.getText());
答案 2 :(得分:1)
JTextField
旨在提供String
。因此,除非您希望用户在文本字段中键入true
或false
(或者您将解析为布尔值的任何字符串),否则可以使用更好的选项
JCheckBox
,通常用于切换设置,例如true-false JRadioButton
s(每个设置一个,在这种情况下为两个)这里有一个link to the corresponding Swing tutorial,其中有关于如何使用这些按钮的示例
但是,如果您真的想要使用文本字段,那么您应该get the text并使用例如Boolean.valueOf
来解析它
答案 3 :(得分:0)
只要输入的值始终为true或false,就可以使用;
获取布尔值 boolean value = Boolean.parseBoolean(enSuiteJTextField.getText());