Rumah > Java > javaTutorial > Bagaimana Menukar Elemen UI Secara Dinamik Berdasarkan Pemilihan Kotak Kombo?

Bagaimana Menukar Elemen UI Secara Dinamik Berdasarkan Pemilihan Kotak Kombo?

Susan Sarandon
Lepaskan: 2024-11-03 11:16:02
asal
266 orang telah melayarinya

How to Dynamically Switch UI Elements Based on Combo Box Selection?

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan