콤보 상자 선택에 따른 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!