Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
每行包含多个元素的JavaFX组合框?_Java_Combobox_Javafx - Fatal编程技术网

每行包含多个元素的JavaFX组合框?

每行包含多个元素的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() {

普通组合框每行有一个元素。是否可以创建一个包含5行x 5列的组合框?例如,在一行中,单元格10x10 px中应有5个元素

现在我的代码是:

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新手,我自己找不到如何实现所需的组合框外观。