CardLayout의 기능 구성요소를 순차적으로 정렬하고 한 번에 하나의 구성요소만 표시 각 구성 요소는 하나의 카드로 취급됩니다.
카드 레이아웃
- CardLayout 다른 레이아웃 관리자가 컨테이너 내의 모든 구성요소를 한 번에 표시하려고 시도하는 다른 레이아웃과 다릅니다. CardLayout 한 번에 하나의 구성요소만 표시합니다.
- CardLayout , 카드는 일반적으로 JPanel과 같은 컨테이너에 배치됩니다. . 구성 요소는 추가된 순서대로 카드 대기열에 배치됩니다.
- CardLayout의 중요한 메소드는 first(), last(), next(), previous() 및 show()입니다. .
예시
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CardLayoutTest extends JFrame implements ActionListener {
CardLayout card;
JButton b1,b2,b3;
Container con;
CardLayoutTest() {
con = this.getContentPane();
card = new CardLayout(40,30);
con.setLayout(card);
b1 = new JButton("Java");
b2 = new JButton("Python");
b3 = new JButton("Scala");
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
con.add("a", b1);
con.add("b", b2);
con.add("c", b3);
}
public void actionPerformed(ActionEvent e) {
card.next(con);
}
public static void main(String[] args) {
CardLayoutTest clt = new CardLayoutTest();
clt.setTitle("CardLayout Test");
clt.setSize(350, 275);
clt.setLocationRelativeTo(null);
clt.setDefaultCloseOperation(EXIT_ON_CLOSE);
clt.setVisible(true);
}
} 위의 예에서는 하나의 구성요소(Java )이 창에 표시됩니다. 창을 클릭하면 나머지 구성 요소(Python 및 Scala )을 볼 수 있습니다.
출력
