Установите ширину списка элементов в ChoiceBox JavaFX

Я хотел бы видеть список элементов той же ширины, что и заголовок:

введите здесь описание изображения

Но реальная картина такова:

введите здесь описание изображения

И я не нашел стилей списка элементов ChoiceBox в конструкторе сцен. Есть ли какой-либо стиль для добавления в файл css, чтобы элементы отображали одинаковую ширину и положение?

Текущие стили:

ChoiceBox {
    -fx-min-width: 28px;
    -fx-min-height: 42px;

    -fx-font-size: 16px;
    -fx-background-radius: 0;

    -fx-background-color: #ffffff;
    -fx-border-width: 1px;
    -fx-region-background: #000000 /
    -fx-mark-color: #757575;
    -fx-border-color: #C5C5C5;
}

Объявление элемента:

    @FXML private ChoiceBox channelPicker;
    private ObservableList<String> channelItems = FXCollections.observableArrayList("DAC 1", "DAC 2", "DAC 3", "DAC 4");

    channelPicker.setItems(channelItems);
    channelPicker.getSelectionModel().selectFirst();

Заранее спасибо!


person BohdanN    schedule 04.05.2017    source источник
comment
Вы можете поиграть с cbMain.setPrefWidth(60), но я не думаю, что это действительно дает то, что вы ищете.   -  person Sedrick    schedule 04.05.2017
comment
Я нашел это. Возможно, это поможет stackoverflow.com/questions/22190370/   -  person Sedrick    schedule 04.05.2017
comment
Перешел на Combobox, и комментарий выше помог. Благодарю вас!   -  person BohdanN    schedule 04.05.2017


Ответы (1)


Вы можете добавить параметр контекстного меню в поле выбора css следующим образом:

.choice-box {
    -fx-pref-width: 220;
}

.choice-box .context-menu {
    -fx-pref-width: 220; /* Your width for the context menu background shown */
}
person Hector Zeledon    schedule 22.09.2017