cardlayout布局
package com.wch.cardlayout;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class cardTest extends JFrame implements MouseListener{
JPanel jp_left;
JPanel jp_right,jp_right_1,jp_right_2,jp_right_3;
JLabel jlb1,jlb2,jlb3;
CardLayout cl=new CardLayout();
JSplitPane jsp;
public static void main(String[] args) {
new cardTest();
}
public cardTest()
{
jp_left=new JPanel(new GridLayout(5,1));
jp_left.setBorder(BorderFactory.createEtchedBorder());
jlb1=new JLabel("系统管理",JLabel.CENTER);
jlb1.addMouseListener(this);
jlb2=new JLabel("学生管理",JLabel.CENTER);
jlb2.addMouseListener(this);
jlb3=new JLabel("老师管理",JLabel.CENTER);
jlb3.addMouseListener(this);
jp_left.add(jlb1);
jp_left.add(jlb2);
jp_left.add(jlb3);
jp_right=new JPanel(cl);
jp_right_1=new JPanel();
jp_right_1.setBackground(Color.red);
jp_right_2=new JPanel();
jp_right_2.setBackground(Color.blue);
jp_right_3=new JPanel();
jp_right_3.setBackground(Color.yellow);
jp_right.add(jp_right_1,"1");
jp_right.add(jp_right_2,"2");
jp_right.add(jp_right_3,"3");
jsp=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jp_left,jp_right);
jsp.setDividerLocation(140);
jsp.setDividerSize(0);
cl.show(jp_right, "1");
this.add(jsp);
this.setSize(500, 600);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
@Override
public void mouseClicked(MouseEvent e) {
if(e.getSource()==jlb1)
{
cl.show(jp_right,"1");
}else if(e.getSource()==jlb2)
{
cl.show(jp_right,"2");
}else if(e.getSource()==jlb3)
{
cl.show(jp_right,"3");
}
}
@Override
public void mouseEntered(MouseEvent e) {
((JLabel)e.getSource()).setForeground(Color.red);
((JLabel)e.getSource()).setCursor(new Cursor(Cursor.HAND_CURSOR));
}
@Override
public void mouseExited(MouseEvent e) {
((JLabel)e.getSource()).setForeground(Color.black);
((JLabel)e.getSource()).setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
}