Tukar Elemen UI Secara Dinamik Berdasarkan Pemilihan Kotak Kombo
Dalam kotak dialog, anda perlu memaparkan set kawalan tertentu berdasarkan pemilihan dibuat dalam kotak kombo. Ini dicapai dengan menggunakan berbilang lapisan dan bertukar antaranya apabila kotak kombo ditandakan atau dinyahtandai.
CardLayout for Control Layering
CardLayout ialah penyelesaian yang berkesan untuk ini senario. Ia membolehkan anda mempunyai berbilang panel, dirujuk sebagai "kad" dan memaparkan hanya satu demi satu dengan menukar reka letak.
Coretan kod berikut menunjukkan cara melaksanakan perkara ini:
<code class="java">import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class CardBoxExample { private static final CardLayout cardLayout = new CardLayout(); private static final JPanel cards = new JPanel(cardLayout); private static final JComboBox<String> combo = new JComboBox<>(); public static void main(String[] args) { // Create the cards JPanel panel1 = new JPanel(); panel1.setBackground(Color.RED); JPanel panel2 = new JPanel(); panel2.setBackground(Color.GREEN); cards.add(panel1, "Panel 1"); cards.add(panel2, "Panel 2"); // Add the combo box JPanel control = new JPanel(); combo.addItem("Panel 1"); combo.addItem("Panel 2"); combo.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { cardLayout.show(cards, combo.getSelectedItem().toString()); } }); control.add(combo); // Create the frame and add the components JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(cards, BorderLayout.CENTER); frame.add(control, BorderLayout.SOUTH); frame.pack(); frame.setVisible(true); } }</code>
Apabila pilihan kotak kombo berubah, ActionListener mengemas kini reka letak panel kad untuk memaparkan kad yang dipilih. Ini membolehkan anda beralih dengan lancar antara kumpulan kawalan yang berbeza berdasarkan input pengguna.
Atas ialah kandungan terperinci Bagaimana Menukar Elemen UI Secara Dinamik Berdasarkan Pemilihan Kotak Kombo?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!