簡體   English   中英

Java Swing,Booleans和textfields

[英]Java Swing, Booleans and textfields

這是我正在進行的項目的當前代碼。 目前我正在嘗試將值與textFields匹配,這是在按下某些按鈕時產生的。 例如,當您單擊開始列車時,門打開將更改為已關閉,列車准備將更改為是,“列車開啟”將更改為是,列車移動將更改為否。我對java swing非常新。

我試圖使用布爾值和If語句來生成消息,如果值為true或false。 然后我將trainPowerField,trainMovingField,trainDoorsField和trainReadyField連接到textFields,將其作為textFields的值。 但我現在遇到的問題是:

FirstFrame.java:120:錯誤:沒有為JTextField(boolean)找到合適的構造函數bottomRight.add(trainReady = new JTextField(trainReadyField));

對於每個textField。

我不明白我怎么沒有合適的構造函數? 我也知道我已經讓這比我應該做的更復雜,但是不明白其他任何方式去做。

編輯*由於單一原因刪除代碼。

沒有JTextField構造函數接受一個boolean參數,現在它不想將它轉換為String值。 你需要明確地做。 嘗試使用

new JTextField(Boolean.toString(trainReadyField));

你需要為其他boolean值( trainPowerField等)做同樣的事情。

JTextField構造函數需要一個字符串,而不是一個布爾值,請嘗試以下所有字符串:

new JTextField(Boolean.toString(trainReadyField))

或者您甚至可以像轉換一樣編寫自己的“toString”:

new JTextField(trainReadyField? "T" : "F"))

為了更好的代碼可維護性,您應該編寫自己的函數

public static String boolToText(boolean b) {
   if (b) return "T";
   return "F";
} 

暫無
暫無

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

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