Heim >Java >javaLernprogramm >Wie befülle ich abhängige JComboBoxes dynamisch in Java?

Wie befülle ich abhängige JComboBoxes dynamisch in Java?

DDD
DDDOriginal
2024-12-20 21:50:10677Durchsuche

How to Dynamically Populate Dependent JComboBoxes in Java?

Dynamische JComboBoxen implementieren

Um Daten dynamisch in JComboBoxen aufzufüllen, können Sie ComboBoxModel nutzen und das Modell der abhängigen Elemente manipulieren JComboBox.

Implementierung:

  1. Datenmodellerstellung:
    Erstellen Sie ein Array von ComboBoxModel-Objekten, die jeweils einen Datensatz darstellen entsprechend einer bestimmten JComboBox.
  2. Modell Initialisierung:
    Initialisieren Sie jedes Modell mit den entsprechenden Datenwerten, wie im Beispiel gezeigt:

    models[0] = new DefaultComboBoxModel(new String[]{"A1", "A2"});
    models[1] = new DefaultComboBoxModel(new String[]{"B1", "B2", "B3", "B4"});
    models[2] = new DefaultComboBoxModel(new String[]{"C1", "C2"});
  3. Anfängliche Modelleinstellung:
    Stellen Sie zunächst das Modell der abhängigen JComboBox auf das Modell der ausgewählten Option im Hauptmenü ein JComboBox:

    combo2.setModel(models[combo1.getSelectedIndex()]);
  4. Ereignisbehandlung:
    Fügen Sie einen ActionListener zur Haupt-JComboBox hinzu, um Änderungen in der Auswahl zu erfassen. Wenn sich die Auswahl ändert, aktualisieren Sie das Modell der abhängigen JComboBox.

    combo1.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            int i = combo1.getSelectedIndex();
            combo2.setModel(models[i]);
        }
    });

Durch Befolgen dieser Schritte können Sie dynamische JComboBoxen implementieren, die die abhängige JComboBox basierend auf der Auswahl mit relevanten Daten füllen erstellt in der Haupt-JComboBox.

Das obige ist der detaillierte Inhalt vonWie befülle ich abhängige JComboBoxes dynamisch in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn