Melaksanakan Perubahan UI Berdasarkan Pemilihan Kotak Kombo
Apabila mereka bentuk dialog UI, selalunya perlu memaparkan set kawalan yang berbeza secara dinamik berdasarkan pemilihan dibuat dalam kotak kombo. Artikel ini meneroka cara untuk mencapai fungsi ini menggunakan pengurus CardLayout Java.
Menggunakan CardLayout untuk Penukaran UI Dinamik
CardLayout ialah pengurus reka letak yang membolehkan anda bertukar antara berbilang " kad" atau lapisan kawalan dalam satu bekas. Setiap kad mengandungi set komponen yang berbeza.
Untuk menggunakan CardLayout dengan berkesan, ikut langkah berikut:
Contoh Kod
Pertimbangkan contoh berikut:
<code class="java">import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class CardPanel extends JPanel { public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { @Override public void run() { create(); } }); } private static void create() { JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel cards = new JPanel(new CardLayout()); JComboBox combo = new JComboBox(); for (int i = 1; i < 9; i++) { CardPanel p = new CardPanel("Panel " + String.valueOf(i)); combo.addItem(p); cards.add(p, p.toString()); } combo.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { CardLayout cl = (CardLayout) cards.getLayout(); cl.show(cards, combo.getSelectedItem().toString()); } }); f.add(cards, BorderLayout.CENTER); f.add(combo, BorderLayout.SOUTH); f.pack(); f.setLocationRelativeTo(null); f.setVisible(true); } }</code>
Kesimpulan
Menggunakan CardLayout menyediakan cara yang fleksibel untuk mengurus elemen UI dinamik dalam dialog atau reka letak kompleks lain. Dengan bertukar antara kad berdasarkan input pengguna, pembangun boleh mencipta antara muka pengguna yang sangat mudah disesuaikan dan intuitif.
Atas ialah kandungan terperinci Bagaimana Menggunakan CardLayout untuk Mencipta Perubahan UI Dinamik Berdasarkan Pilihan Kotak Gabung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!