Rumah >Java >javaTutorial >Bagaimana untuk Mengisi JComboBoxes Bergantung secara Dinamik di Jawa?

Bagaimana untuk Mengisi JComboBoxes Bergantung secara Dinamik di Jawa?

DDD
DDDasal
2024-12-20 21:50:10641semak imbas

How to Dynamically Populate Dependent JComboBoxes in Java?

Melaksanakan JComboBoxes Dinamik

Untuk mengisi data secara dinamik dalam JComboBoxes, anda boleh memanfaatkan ComboBoxModel dan memanipulasi model tanggungan JComboBox.

Pelaksanaan:

  1. Penciptaan Model Data:
    Buat tatasusunan objek ComboBoxModel, setiap satu mewakili set data sepadan dengan yang tertentu JComboBox.
  2. Permulaan Model:
    Mulakan setiap model dengan nilai data yang sepadan, seperti ditunjukkan dalam contoh:

    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. Tetapan Model Awal:
    Pada mulanya, tetapkan model daripada JComboBox yang bergantung kepada model pilihan yang dipilih dalam JComboBox utama:

    combo2.setModel(models[combo1.getSelectedIndex()]);
  4. Pengendalian Acara:
    Tambahkan ActionListener pada JComboBox utama untuk menangkap perubahan dalam pemilihan. Apabila pemilihan berubah, kemas kini model JComboBox bergantung.

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

Dengan mengikuti langkah ini, anda boleh melaksanakan JComboBoxes dinamik yang mengisi JComboBox bergantung dengan data yang berkaitan berdasarkan pemilihan dibuat dalam JComboBox utama.

Atas ialah kandungan terperinci Bagaimana untuk Mengisi JComboBoxes Bergantung secara Dinamik di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn