ホームページ  >  記事  >  Java  >  コンボボックスの選択に基づいて UI 要素を動的に切り替えるにはどうすればよいですか?

コンボボックスの選択に基づいて UI 要素を動的に切り替えるにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-03 11:16:02206ブラウズ

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

コンボ ボックスの選択に基づいて UI 要素を動的に切り替える

ダイアログ ボックスでは、選択に基づいて特定のコントロールのセットを表示する必要がありますコンボボックスで作りました。これは、複数のレイヤーを使用し、コンボ ボックスがオンまたはオフになっているときにそれらを切り替えることによって実現されます。

コントロールの階層化のための CardLayout

CardLayout は、これに対する効果的なソリューションです。シナリオ。 「カード」と呼ばれる複数のパネルを用意し、レイアウトを変更することで一度に 1 つだけ表示できます。

次のコード スニペットは、これを実装する方法を示しています。

<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>

コンボ ボックスの選択が変更されると、ActionListener はカード パネルのレイアウトを更新して、選択されたカードを表示します。これにより、ユーザー入力に基づいて、異なるコントロール グループ間をシームレスに移行できます。

以上がコンボボックスの選択に基づいて UI 要素を動的に切り替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。