这是我正在进行的项目的当前代码。目前我正在尝试将值与textFields匹配,这是在按下某些按钮时产生的。例如,当您单击开始列车时,门打开将更改为已关闭,列车准备将更改为是,“列车开启”将更改为是,列车移动将更改为否。我对java swing非常新。
如果值为true或false,我尝试使用布尔值和If语句来生成消息。然后我将trainPowerField,trainMovingField,trainDoorsField和trainReadyField连接到textFields,将其作为textFields的值。 但我现在遇到的问题是:
FirstFrame.java:120:错误:没有为JTextField找到合适的构造函数(boolean) bottomRight.add(trainReady = new JTextField(trainReadyField));
对于每个textField。
我不明白我怎么没有合适的构造函数? 我也知道我已经让这比我应该做的更复杂,但是不明白其他任何方式去做。
编辑* 不得不因为一般原因删除代码。
答案 0 :(得分:1)
没有JTextField
构造函数只接受一个boolean
参数,现在它并不想将其转换为String
值。你需要明确地做。尝试使用
new JTextField(Boolean.toString(trainReadyField));
您需要为其他boolean
值(trainPowerField
等)执行相同的操作。
答案 1 :(得分:1)
JTextField
构造函数需要一个字符串,而不是一个布尔值,请尝试以下所有字符串:
new JTextField(Boolean.toString(trainReadyField))
或者您甚至可以像转换一样编写自己的“toString”:
new JTextField(trainReadyField? "T" : "F"))
为了更好的代码可维护性,您应该编写自己的函数
public static String boolToText(boolean b) {
if (b) return "T";
return "F";
}