ホームページ >Java >&#&チュートリアル >CardLayout を使用してコンボ ボックスの選択に基づいて動的な UI 変更を作成する方法
コンボ ボックスの選択に基づいた UI 変更の実装
UI ダイアログをデザインするとき、多くの場合、コンボボックスで選択。この記事では、Java の CardLayout マネージャーを使用してこの機能を実現する方法について説明します。
動的 UI 切り替えに CardLayout を使用する
CardLayout は、複数の " 間で切り替えることができるレイアウト マネージャーです。カード」、または単一のコンテナ内のコントロールのレイヤー。各カードには、異なるコンポーネントのセットが含まれています。
CardLayout を効果的に使用するには、次の手順に従います。
サンプル コード
次の例を考えてみましょう:
<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>
結論
CardLayout を利用すると、ダイアログやその他の複雑なレイアウト内の動的な UI 要素を管理する柔軟な方法が提供されます。ユーザー入力に基づいてカードを切り替えることで、開発者は適応性が高く直感的なユーザー インターフェイスを作成できます。
以上がCardLayout を使用してコンボ ボックスの選択に基づいて動的な UI 変更を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。