IntelliJ不会编译从文档中复制的基本JavaFX程序

时间:2016-07-27 19:15:49

标签: java intellij-idea javafx

我正在使用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”是列出的错误。其他人编译了程序,它适用于他们的机器。

1 个答案:

答案 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加载/初始化

的评论
相关问题