我正在使用IntelliJ中的Scene Builder和Java FX制作我的第一个GUI程序。我想做一个选择框,所以我在这里查看了Java文档:
https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/ChoiceBox.html
我根据文档设置了我的选择框,发现IntelliJ无法识别该方法。所以我然后直接从文档中粘贴的副本仍然出错。我的代码如下:
package sample;
import javafx.scene.control.ChoiceBox;
public class Controller {
ChoiceBox cb = new ChoiceBox();
cb.getItems().addAll("item1", "item2", "item3");
}
“.getItems()”是红色文本,错误“无法解析符号getItems”是列出的错误。其他人编译了程序,它适用于他们的机器。
答案 0 :(得分:3)
cb.getItems().addAll("item1", "item2", "item3");
需要放在方法中。
正确的代码是:
package sample;
import javafx.fxml.FXML;
import javafx.scene.control.ChoiceBox;
public class Controller {
@FXML private ChoiceBox cb;
public void initialize() {
cb.getItems().addAll("item1", "item2", "item3");
}
}
注入字段后,initialize
将调用FXMLLoader
方法。
编辑:添加了@ fabian对FXML
加载/初始化