【问题标题】:Get boolean from a JTextField从 JTextField 获取布尔值
【发布时间】:2012-02-01 03:02:45
【问题描述】:

我正在尝试从下面的文本字段中获取值以与 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();
    }
}

【问题讨论】:

  • 用户是打算在 JTextField 中输入“真”还是“假”?
  • 是的,用户在 JTextField 中输入真或假
  • 哈哈。您还可以使用 26 个复选框,每个复选框都有不同的字母,以帮助用户输入单词 :-)
  • 您的意思是要验证输入吗?就像,如果它是你喜欢的 = true,否则它是 = false。
  • 对布尔值使用 JTextField 并不是一个好方法,因为用户可以键入的内容有很多变化。最好使用复选框或单选按钮组件。

标签: java swing boolean jtextfield


【解决方案1】:

只要输入的值始终为真或假,您就可以使用布尔值;

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

【讨论】:

    【解决方案2】:

    从我上面的 cmets 中给出完整的答案:

    使用JTextField 处理boolean 输入并不是处理事情的好方法,因为用户可以键入许多变化yes/no/true/false 等。拼写错误?

    使用JRadioButton(用于单个答案)或JCheckbox(用于多个答案)将是处理truefalse 输入的更好方法。我建议使用JRadioButton,因为您不希望用户检查truefalse

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

    【讨论】:

      【解决方案3】:

      JTextField 旨在提供Strings。因此,除非您希望用户在文本字段中输入 truefalse(或您将解析为布尔值的任何字符串),否则还有更好的选项可供选择

      • JCheckBox,通常用于切换设置,例如 true-false
      • JRadioButtons(每个设置一个,所以在这种情况下两个)

      这里是link to the corresponding Swing tutorial,其中包含有关如何使用这些按钮的示例

      但如果你真的想得到一个文本字段,那么你应该从它get the text 并使用例如Boolean.valueOf 来解析它

      【讨论】:

        【解决方案4】:

        假设用户输入字符串truefalse,您可以将其转换为boolean

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

        【讨论】:

          猜你喜欢
          • 2016-07-08
          • 1970-01-01
          • 1970-01-01
          • 2012-05-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多