我正在创建一个包含某人最喜欢的电影的 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);
}
}
请提出建议。
最佳答案
您做的是对的工作,但是是新创建的Label
循环中的 s 不会被添加到 GridPane
自动。
for (...) {
...
pane.getChildren().add(listTable);
}
... but a
Label
doesn't support multiline output
根据您的代码,每部电影都有一个没有换行符的标签。这些电影被打印成单独的 Label
s,因此不需要通过 '\n'
合并行.
我建议使用 ListView<Film>
或 Vbox
(参见下面的示例)。
VBox verticalBox = new VBox();
for (...) {
...
verticalBox.getChildren().add(listTable);
}
pane.getChildren().add(verticalBox);
关于java - 在 fxml 中显示整个链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50852690/