JavaFX Combobox每行有多个元素?

时间:2015-03-30 16:22:47

标签: java combobox javafx

普通组合框每行有一个元素。是否可以使用5rows 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行,每行一种颜色。我不知道如何每行显示几种颜色。

0 个答案:

没有答案