簡體   English   中英

從JTextField獲取布爾值

[英]Get boolean from a JTextField

我正在嘗試從下面的文本字段中獲取值以與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處理boolean輸入不是解決問題的好方法,因為用戶可以輸入yes / no / true / false等多種變體,例如拼寫錯誤?

使用JRadioButton (用於單個答案)或JCheckbox (用於多個答案)將是處理truefalse輸入的更好方法。 我建議使用JRadioButton因為您不希望用戶檢查truefalse

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

假設用戶輸入字符串truefalse ,則可以使用以下命令將其轉換為boolean

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

JTextField旨在提供String 因此,除非您希望用戶在文本字段(或將解析為布爾值的任何字符串)中輸入truefalse ,否則會有更好的選擇

  • JCheckBox ,通常用於切換設置,例如true-false
  • JRadioButton (每個設置一個,因此在這種情況下兩個)

這里是指向相應的Swing教程鏈接,其中包含有關如何使用這些按鈕的示例

但是,如果您真的想使用文本字段,則應該從中獲取文本並使用例如Boolean.valueOf進行解析。

只要輸入的值始終為true或false,就可以使用布爾值;

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM