布局管理器之CardLayout
这个小例子介绍一下CardLayout布局管理器的用法。
(例子中将实现点击窗口,将实现简单不同颜色的卡片变换)
//引用包中的声明
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
//实现入口
public class jframe {
public static void main(String [] arf)
{
fra frame = new fra();
frame.go();
}
}
//主体类
class fra implements MouseListener
{
private JFrame frame;
private Container contentPane;
private JPanel pane1, pane2, pane3, pane4, pane5;
private JLabel lab1, lab2, lab3, lab4, lab5;
private CardLayout Mylayout;
public void go()
{
frame = new JFrame("Layout example");
Mylayout = new CardLayout();
//主面板,。另外定义的五个面板,
contentPane = frame.getContentPane();
pane1 = new JPanel();
pane2 = new JPanel();
pane3 = new JPanel();
pane4 = new JPanel();
pane5 = new JPanel();
lab1 = new JLabel("first");
lab2 = new JLabel("second");
lab3 = new JLabel("third");
lab4 = new JLabel("fouth");
lab5 = new JLabel("fifth");
pane1.add(lab1);
pane2.add(lab2);
pane3.add(lab3);
pane4.add(lab4);
pane5.add(lab5);
pane1.setBackground(Color.black);
pane5.setBackground(Color.blue);
pane4.setBackground(Color.gray);
pane3.setBackground(Color.green);
pane2.setBackground(Color.pink);
pane1.addMouseListener(this);
pane2.addMouseListener(this);
pane3.addMouseListener(this);
pane4.addMouseListener(this);
pane5.addMouseListener(this);
contentPane.add(pane1);
contentPane.add(pane2);
contentPane.add(pane3);
contentPane.add(pane4);
contentPane.add(pane5);
contentPane.setLayout(Mylayout);
frame.setSize(500, 400);
frame.setVisible(true);
frame.show();
}
public void mouseClicked(MouseEvent e) {
Mylayout.next(contentPane);
}
//以下 的方法都没用到,可以使用一个适配器代替;
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
}