Изменение элементов JComboBox в соответствии с выбором из другого JComboBox - PullRequest
2 голосов
/ 17 марта 2011

У меня есть небольшое приложение, которое генерирует статистические диаграммы из БД MySQL через JPA.Чтобы выбрать, какие компоненты БД включить в статистику, я установил 2 JComboBoxes.Первый JComboBox заполняется элементами Category1, второй JComboBox - элементами Category2, который является подкатегорией Category1.Что я хочу сделать, это заполнить JComboBox2 только элементами Category2, которые связаны с выбором в JComboBox1.

Пример: Category1 - это марки автомобилей, Category2 - модели;Я хочу, чтобы JComboBox2 показывал только модели для выбранной марки, сейчас он показывает все доступные модели каждой марки.

1 Ответ

5 голосов
/ 17 марта 2011

Сначала добавьте слушателя в Combobox1:

private void comboBox1ItemStateChanged(java.awt.event.ItemEvent evt) {                                                     

    if (java.awt.event.ItemEvent.DESELECTED == evt.getStateChange()) {

        String valueBeforeDeselection = evt.getItem().toString();
        // Do something if needed

    } else if (java.awt.event.ItemEvent.SELECTED == evt.getStateChange()) {

        String valueAfterSelection = evt.getItem().toString();
        // Set the values of the ComboBox2
    }
}

Чтобы заполнить ComboBox2, вы должны сначала очистить его

comboBox2.removeAllItems();
comboBox2.addItem("Value 1");
comboBox2.addItem("Value 2");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...