每行包含多个元素的JavaFX组合框?
普通组合框每行有一个元素。是否可以创建一个包含5行x 5列的组合框?例如,在一行中,单元格10x10 px中应有5个元素 现在我的代码是:每行包含多个元素的JavaFX组合框?,java,combobox,javafx,Java,Combobox,Javafx,普通组合框每行有一个元素。是否可以创建一个包含5行x 5列的组合框?例如,在一行中,单元格10x10 px中应有5个元素 现在我的代码是: private ObservableList<Colors> colorList=FXCollections.observableArrayList(); @FXML private ComboBox<Colors> colorComboBox; @FXML private void initialize() {
private ObservableList<Colors> colorList=FXCollections.observableArrayList();
@FXML
private ComboBox<Colors> colorComboBox;
@FXML
private void initialize() {
colorList.add(new Colors(1,"#68ba90"));
colorList.add(new Colors(2,"#b892ff"));
colorList.add(new Colors(3,"#ff1ecd"));
colorList.add(new Colors(4,"#c7003d"));
colorList.add(new Colors(5,"#25c700"));
colorComboBox.setItems(colorList);
colorComboBox.setCellFactory(new Callback<ListView<Colors>, ListCell<Colors>>() {
@Override
public ListCell<Colors> call(ListView<Colors> p) {
return new ListCell<Colors>() {
@Override
protected void updateItem(Colors item, boolean empty) {
super.updateItem(item, empty);
Rectangle rect = new Rectangle(10,10);
if (item == null || empty) {
setGraphic(null);
} else {
rect.setFill(Color.web(item.getCode()));
setGraphic(rect);
}
}
};}
});
}
但结果是我有5行,每行一种颜色。我不知道如何在每行显示几种颜色。您是否尝试过自定义CellRenderer?我是JavaFX新手,我自己找不到如何实现所需的组合框外观。