组合框显示一个值

时间:2018-07-26 12:15:11

标签: object javafx combobox

我在JavaFX中的ComboBox有问题。我从数据库中获得了一个对象列表(例如ID,名称,姓氏等结构),我想将此项目设置为组合框,但我只想显示“名称”属性。到目前为止,组合框向我显示了以下内容:“ People {id =” 1“,name =” X“,surname =” Y“} ...并到达列表的末尾(其中“ People”是列表的名称)。我也想让组合框的项目不仅获得名称,还获得整个对象,该如何解决呢?

List<ApplicationFunction> applicationFunctionList = manager.getAllApplicationFunctions().stream().map(c -> (ApplicationFunction) c).collect(toList());
    ObservableList<ApplicationFunction> dataCollections = FXCollections.observableArrayList();
    dataCollections.addAll(applicationFunctionList);


    comboBoxFunkcja.setCellFactory(param -> new ListCell<ApplicationFunction>() {
        @Override
        protected void updateItem(ApplicationFunction item, boolean empty) {
            super.updateItem(item, empty);

            if (empty || item == null || item.getCodeName() == null) {
                setText(null);

            } else {
                setText(item.getCodeName());
            }
        }
    });

    comboBoxFunkcja.setItems(dataCollections);
    comboBoxFunkcja.getSelectionModel().selectFirst();

0 个答案:

没有答案