我正在创建一个LinkedList
,其中包含最喜欢的某人电影。
我想在FXML中显示整个列表,但Label
不支持多行输出。
这是我尝试的代码(filmFavoriten
是LinkedList
):
static LinkedList<Film> filmFavoriten = new LinkedList<>();
@FXML
private void displayList() throws IOException {
GridPane pane = FXMLLoader.load(getClass().getClassLoader().getResource("displayList.fxml"));
rootpane.getChildren().setAll(pane);
for (int r = 0; r < filmFavoriten.size(); r++) {
Label listTable = new Label();
listTable.setText((r + 1) + ". " + filmFavoriten.get(r).title);
}
}
请建议。
答案 0 :(得分:1)
您正在做正确的工作,但循环中新创建的Label
将不会自动添加到GridPane
。
for (...) {
...
pane.getChildren().add(listTable);
}
...但
Label
不支持多行输出
根据您的代码,每部电影都拥有一个没有任何换行符的标签。这些电影被打印成单独的Label
s,因此不需要'\n'
合并行。
我建议您使用ListView<Film>
或Vbox
(请参阅下面的示例)。
VBox verticalBox = new VBox();
for (...) {
...
verticalBox.getChildren().add(listTable);
}
pane.getChildren().add(verticalBox);