一段时间以来,我一直在尝试弄清楚如何使用队列中的多个元素填充组合框。有人可以告诉我该怎么做吗?
我正在使用 JavaFX(无场景构建器)和最新版本的 Java。我尝试过使用迭代器,但我只能成功地将一个元素填充到组合框中。
i1.getItems().addAll ( //combobox code
"Solve for",
//queue elements here
);
//interator code. Other class calls it.
itrVelocity = velAns.iterator();
while (itrVelocity.hasNext()) {
SPH3U.velocity = itrVelocity.next();
}
如果队列有以下元素 [2.3, 4.2, 7.1],则组合框应按从上到下的顺序显示“Solve for”、“2.3”、“4.2”、“7.1”。
但是,我只成功地让组合框显示“求解”、“7.1”。
任何解决方案都值得赞赏。
最佳答案
您应该只需要迭代Queue
并将元素放入ObservableList
中。
ComboBox<String> box = new ComboBox<>();
box.getItems().add("Solve for");
// Assuming generic type of Queue based on your question
Queue<Double> queue = ...; // get instance from somewhere
while (!queue.isEmpty()) {
box.getItems().add(queue.remove().toString());
}
或者,如果您不想耗尽队列
,您可以这样做:
for (Double element : queue) {
box.getItems().add(element.toString());
}
关于java - 如何使用队列元素填充组合框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53939975/