Menangani peristiwa pemilihan item daftar di Swing adalah aspek penting ketika mengembangkan aplikasi Java dengan antarmuka pengguna grafis. Sebagai pemasok Swing, saya memiliki pengalaman luas dalam menangani kejadian ini, dan saya bersemangat untuk berbagi beberapa wawasan tentang cara mengelolanya secara efektif.
Memahami Daftar Ayunan dan Acara Seleksi
Di Ayunan, aDaftar Jadalah komponen yang menampilkan daftar objek dan memungkinkan pengguna untuk memilih satu atau lebih objek tersebut. Saat pengguna memilih item dari daftar, peristiwa pemilihan dihasilkan. Peristiwa ini dapat digunakan untuk memicu berbagai tindakan dalam aplikasi Anda, seperti menampilkan informasi detail tentang item yang dipilih, melakukan penghitungan, atau menavigasi ke bagian lain antarmuka.
Untuk menangani peristiwa pemilihan item daftar, Anda perlu mengimplementasikanDaftarSeleksiListenerantarmuka. Antarmuka ini memiliki satu metode,nilaiBerubah(ListSelectionEvent e), yang dipanggil setiap kali pilihan dalam daftar berubah.
Berikut ini contoh sederhana cara membuatDaftar Jdan tambahkan aDaftarSeleksiListeneruntuk itu:


import javax.swing.*; impor javax.swing.event.ListSelectionEvent; impor javax.swing.event.ListSelectionListener; public class ListSelectionExample { public static void main(String[] args) { JFrame frame = new JFrame("Contoh Pilihan Daftar"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); String[] data = {"Item 1", "Item 2", "Item 3", "Item 4", "Item 5"}; JList<String> daftar = JList baru<>(data); list.addListSelectionListener(New ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { if (!e.getValueIsAdjusting()) { JList<String> source = (JList<String>) e.getSource(); int SelectedIndex = source.getSelectedIndex(); if (selectedIndex != -1) { String SelectedItem = source.getSelectedValue(); System.out.println("Item yang dipilih: " +Item yang dipilih); JScrollPane scrollPane = JScrollPane baru(daftar); frame.add(scrollPane); bingkai.paket(); frame.setVisible(benar); } }
Dalam contoh ini, kita membuat aDaftar Jdengan serangkaian string. Kami kemudian menambahkan aDaftarSeleksiListenerke daftar. Di dalamvalueChangedcaranya, kita cek dulu apakah pilihannya masih disesuaikan menggunakangetValueIsAdjustingmetode. Hal ini penting karenavalueChangedmetode dapat dipanggil beberapa kali saat pengguna membuat pilihan. Setelah pemilihan selesai, kami mendapatkan sumber acara (yaituDaftar J), indeks yang dipilih, dan item yang dipilih. Terakhir, kami mencetak item yang dipilih ke konsol.
Menangani Beberapa Mode Seleksi
MengayunDaftar Jmendukung mode pemilihan yang berbeda, seperti pemilihan tunggal, pemilihan interval tunggal, dan pemilihan interval ganda. Anda dapat mengatur mode pemilihan menggunakansetSelectionModemetode.
- Seleksi Tunggal: Hanya satu item yang dapat dipilih dalam satu waktu. Anda dapat mengatur mode pemilihan ke
DaftarSelectionModel.SINGLE_SELECTION. - Seleksi Interval Tunggal: Berbagai item yang berdekatan dapat dipilih. Anda dapat mengatur mode pemilihan ke
DaftarSelectionModel.SINGLE_INTERVAL_SELECTION. - Seleksi Interval Berganda: Rentang item yang tidak bersebelahan dapat dipilih. Anda dapat mengatur mode pemilihan ke
DaftarSelectionModel.MULTIPLE_INTERVAL_SELECTION.
Berikut ini contoh cara menangani pemilihan beberapa interval:
import javax.swing.*; impor javax.swing.event.ListSelectionEvent; impor javax.swing.event.ListSelectionListener; impor java.util.List; public class MultipleSelectionExample { public static void main(String[] args) { JFrame frame = new JFrame("Contoh Pilihan Ganda"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); String[] data = {"Item 1", "Item 2", "Item 3", "Item 4", "Item 5"}; JList<String> daftar = JList baru<>(data); daftar.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); list.addListSelectionListener(New ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { if (!e.getValueIsAdjusting()) { JList<String> source = (JList<String>) e.getSource(); List<String>selectValuesList = source.getSelectedValuesList(); for (StringselectedItem : SelectValuesList) { System.out.println("Item yang dipilih: " +Item yang dipilih); JScrollPane scrollPane = JScrollPane baru(daftar); frame.add(scrollPane); bingkai.paket(); frame.setVisible(benar); } }
Dalam contoh ini, kami mengatur mode pemilihanDaftar JkeDaftarSelectionModel.MULTIPLE_INTERVAL_SELECTION. Di dalamvalueChangedmetode, kami mendapatkan daftar semua item yang dipilih menggunakangetSelectedValuesListmetode dan kemudian ulangi daftar untuk mencetak setiap item yang dipilih.
Aplikasi Praktis pada Produk Ayunan Kami
Sebagai pemasok Ayunan, kami menawarkan berbagai macam ayunan, termasukAyunan Dewasa Besar Berwarna-warni, ituAyunan Taman untuk Anak, dan ituAyunan Kecil untuk Rumah. Dalam aplikasi kami, peristiwa pemilihan item daftar dapat digunakan dalam berbagai cara.
Misalnya, kita dapat membuat aDaftar Jyang menampilkan berbagai jenis ayunan. Saat pengguna memilih ayunan dari daftar, kami dapat menampilkan informasi detail tentang ayunan tersebut, seperti dimensi, kapasitas berat, dan harga. Kita juga dapat menggunakan event seleksi untuk memicu tindakan seperti menambahkan ayunan yang dipilih ke keranjang belanja atau membuat penawaran.
import javax.swing.*; impor javax.swing.event.ListSelectionEvent; impor javax.swing.event.ListSelectionListener; public class SwingSelectionExample { public static void main(String[] args) { JFrame frame = new JFrame("Contoh Pilihan Ayunan"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); String[] swings = {"Ayunan Dewasa Besar Berwarna-warni", "Ayunan Taman untuk Anak", "Ayunan Kecil untuk Rumah"}; JList<String> swingList = JList baru<>(ayunan); final JLabel infoLabel = new JLabel("Pilih ayunan untuk melihat detailnya"); swingList.addListSelectionListener(New ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { if (!e.getValueIsAdjusting()) { JList<String> source = (JList<String>) e.getSource(); intselectedIndex = source.getSelectedIndex(); if (selectedIndex != -1) { String yang dipilihSwing = source.getSelectedValue(); String Details = ""; switch (selectedSwing) { case "Ayunan Dewasa Besar Berwarna-warni": detail = "Ayunan besar dan berwarna-warni yang cocok untuk orang dewasa. Ayunan ini memiliki kapasitas beban yang tinggi dan terbuat dari bahan yang tahan lama."; break; case "Ayunan Taman untuk Anak-anak": detail = "Ayunan ringkas yang dapat digunakan mudah dipasang di rumah. Cocok untuk ruangan kecil."; break; } infoLabel.setText(details); } } } }); JScrollPane scrollPane = JScrollPane baru(swingList); frame.add(scrollPane, java.awt.BorderLayout.WEST); frame.add(infoLabel, java.awt.BorderLayout.CENTER); bingkai.paket(); frame.setVisible(benar); } }
Dalam contoh ini, kita membuat aDaftar Jdengan nama ayunan kami. Saat pengguna memilih ayunan dari daftar, kami menggunakan amengalihkanpernyataan untuk mendapatkan detail ayunan yang dipilih dan memperbarui aJLabeldengan informasi tersebut.
Kesimpulan
Menangani acara pemilihan item daftar di Swing adalah keterampilan penting bagi pengembang Java. Dengan menerapkanDaftarSeleksiListenerantarmuka dan memahami mode pemilihan yang berbeda, Anda dapat membuat aplikasi yang interaktif dan ramah pengguna. Sebagai pemasok Swing, kami berkomitmen untuk menyediakan ayunan berkualitas tinggi dan membantu pelanggan kami mengembangkan aplikasi yang memanfaatkan fitur Swing secara maksimal.
Jika Anda tertarik dengan produk swing kami atau memiliki pertanyaan tentang penanganan acara pemilihan item daftar di aplikasi Swing Anda, kami mendorong Anda untuk menghubungi kami untuk pengadaan dan diskusi lebih lanjut. Kami berharap dapat bekerja sama dengan Anda untuk memenuhi kebutuhan Anda.
Referensi
- "Tutorial Ayunan Java" oleh Oracle
- "Jawa Efektif" oleh Joshua Bloch
