JComboBoxes Interaktif untuk Paparan Data Dinamik
Dalam senario pengaturcaraan ini, anda dibentangkan dengan set data berstruktur kursus dan pilihan yang sepadan dengannya . Matlamat anda adalah untuk mencipta dua JComboBoxes yang membolehkan populasi dinamik pilihan berdasarkan pemilihan yang dibuat dalam JComboBox pertama.
Pelaksanaan ComboBox Dinamik
Untuk mencapai ini, anda' Saya perlu menggunakan DefaultComboBoxModel untuk setiap set pilihan. Apabila pengguna memilih item daripada JComboBox pertama (JComboBox1), anda akan menetapkan model untuk JComboBox kedua (JComboBox2) agar sepadan dengan pilihan yang dipilih.
Contoh Pelaksanaan
Pertimbangkan kod Java berikut, yang menunjukkan pelaksanaan ini:
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 { // Create JComboBoxes and ComboBoxModels 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() { // Initialize ComboBoxModels with corresponding data 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"}); // Set initial model for combo2 combo2.setModel(models[0]); this.add(combo1); this.add(combo2); // Add action listener to listen for selections in combo1 combo1.addActionListener(this); } @Override public void actionPerformed(ActionEvent e) { // Get the selected index in combo1 int i = combo1.getSelectedIndex(); // Update the model in combo2 with the corresponding model combo2.setModel(models[i]); } // Main method for initializing the GUI @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()); } }
Oleh melaksanakan pendekatan ini, anda boleh mengisi kotak kombo secara dinamik dan memberikan pengalaman pengguna interaktif untuk memilih pilihan data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta JComboBox yang Dipenduduki Secara Dinamik di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!