コンボ ボックスの選択に基づいて UI コンテンツを交換する方法
アプリケーション インターフェイスを設計する場合、ユーザーに基づいて異なるコントロールのセットを表示するのが一般的です。相互作用。この柔軟性を実現する 1 つの方法は、コンボ ボックスを使用することです。この質問は、コンボ ボックスの選択に基づいて 2 つのコントロール層を切り替えるシナリオについて説明します。
CardLayout を使用した解決策
Java CardLayout クラスは、管理に便利なソリューションを提供します。コントロールのレイヤー。このクラスを使用すると、複数のパネルをコンテナに追加できますが、一度に表示できるパネルは 1 つだけです。表示されるパネルは、show() メソッドを使用して動的に選択できます。
以下のコード スニペットは、コンボ ボックスの選択に基づいて UI コンテンツを交換する CardLayout を実装する方法を示しています。
<code class="java">import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class CardPanelExample { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Create two panels to be swapped JPanel panel1 = new JPanel(); panel1.setBackground(Color.CYAN); JPanel panel2 = new JPanel(); panel2.setBackground(Color.ORANGE); // Create a CardLayout and add the panels CardLayout cardLayout = new CardLayout(); JPanel cardPanel = new JPanel(cardLayout); cardPanel.add(panel1, "Panel1"); cardPanel.add(panel2, "Panel2"); // Create a combo box and add items JComboBox<String> comboBox = new JComboBox<>(); comboBox.addItem("Panel1"); comboBox.addItem("Panel2"); // Add an action listener to the combo box comboBox.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { cardLayout.show(cardPanel, comboBox.getSelectedItem().toString()); } }); // Add the card panel and combo box to the frame frame.add(cardPanel, BorderLayout.CENTER); frame.add(comboBox, BorderLayout.SOUTH); frame.setSize(400, 300); frame.setVisible(true); } }</code>
この例では、CardLayout は 2 つのパネル、panel1 と pane2 を管理します。コンボ ボックスから項目を選択すると、対応するパネルが CardLayout コンテナに表示されます。このアプローチにより、ユーザーの選択に基づいてさまざまなコントロールのセットをユーザーに表示できる、動的で直感的なインターフェイスが可能になります。
以上がJava で CardLayout を使用して、コンボ ボックスの選択に基づいて UI コンテンツを動的に交換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。