Heim > Java > javaLernprogramm > Wie erstelle ich miteinander verbundene dynamische JComboBoxes in Java?

Wie erstelle ich miteinander verbundene dynamische JComboBoxes in Java?

Susan Sarandon
Freigeben: 2024-12-16 11:24:16
Original
809 Leute haben es durchsucht

How to Create Interconnected Dynamic JComboBoxes in Java?

So erstellen Sie dynamische JComboBoxes

Um zwei dynamische JComboBoxes zu erstellen, die miteinander verbunden sind, sodass in der ersten ein Wert ausgewählt wird JComboBox, die zweite JComboBox wird mit entsprechenden Werten gefüllt, folgen Sie diesen Schritten:

1. Erstellen Sie für jeden Datensatz ein DefaultComboBoxModel.
Dieses Modell speichert die Werte, die in die zweite JComboBox eingefügt werden.

2. Stellen Sie das Modell der zweiten JComboBox auf das entsprechende Modell ein, wenn sich der Wert in der ersten JComboBox ändert.
Dadurch wird sichergestellt, dass die zweite JComboBox basierend auf der Auswahl in der ersten JComboBox mit den entsprechenden Werten gefüllt wird.

Beispiel:

Der folgende Java-Code zeigt, wie dies implementiert wird Funktionalität:

import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class ComboTest extends JPanel implements ActionListener, Runnable {

    private final JComboBox combo1 = new JComboBox(
        new String[]{"Course 1", "Course 2", "Course 3"});
    private final JComboBox combo2 = new JComboBox();
    private ComboBoxModel[] models = new ComboBoxModel[3];

    public ComboTest() {
        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"});

        combo2.setModel(models[0]);
        this.add(combo1);
        this.add(combo2);
        combo1.addActionListener(this);
    }

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

    @Override
    public void run() {
        JFrame f = new JFrame("ComboTest");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.add(this);
        f.pack();
        f.setLocationRelativeTo(null);
        f.setVisible(true);
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new ComboTest());
    }
}
Nach dem Login kopieren

Dieser Code erstellt einen JFrame mit zwei JComboBoxes. Wenn Sie einen Wert aus der ersten JComboBox auswählen, wird die zweite JComboBox mit den entsprechenden Werten gefüllt.

Das obige ist der detaillierte Inhalt vonWie erstelle ich miteinander verbundene dynamische JComboBoxes in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage