java学习篇(二)---卡片布局详解(Swing和awt)

来源:互联网 发布:鸟巢大棚建造数据 编辑:程序博客网 时间:2024/05/01 06:56

其实java的自带的Swing和awt布局也挺好看的...

<span style="font-size:18px;">package cn.hsp.cardlayout;import java.awt.CardLayout;import java.awt.Color;import java.awt.Cursor;import java.awt.GridLayout;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.BorderFactory;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JSplitPane;/** * 用doc文档写 开发文档, 这里需要去简单演示一下学生管理系统的几个重要界面,截图作为开发的界面. 卡片布局简单案例:  * 测试卡片布局是怎么使用的 * @author nsz 2014下午12:08:26 */public class TestCard extends JFrame implements MouseListener {private static final long serialVersionUID = 1L;// 定义需要的组件JSplitPane jsp = null;JPanel jPanel_left, jPanel_right, jPanel_right_1, jPanel_right_2,jPanel_right_3;JLabel jb1, jb2, jb3;CardLayout cl = new CardLayout();public static void main(String[] args) {new TestCard();}public TestCard() {// 创建组件jPanel_left = new JPanel(new GridLayout(5, 1));jPanel_left.setBorder(BorderFactory.createEtchedBorder());jb1 = new JLabel("学生选课系统", JLabel.CENTER);jb1.addMouseListener(this);jb2 = new JLabel("老师管理", JLabel.CENTER);jb2.addMouseListener(this);jb3 = new JLabel("学生管理", JLabel.CENTER);jb3.addMouseListener(this);jPanel_left.add(jb1);jPanel_left.add(jb2);jPanel_left.add(jb3);// 右边的paneljPanel_right = new JPanel(cl);jPanel_right_1 = new JPanel();jPanel_right_1.setBackground(Color.RED);jPanel_right_1.add(new JLabel(new ImageIcon("face09.png")));jPanel_right_2 = new JPanel();jPanel_right_2.setBackground(Color.BLUE);jPanel_right_3 = new JPanel();jPanel_right_3.setBackground(Color.GREEN);jPanel_right.add("1", jPanel_right_1);jPanel_right.add("2", jPanel_right_2);jPanel_right.add("3", jPanel_right_3);// 设置默认显示的卡片cl.show(jPanel_right, "1");jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, jPanel_left,jPanel_right);jsp.setDividerLocation(140);jsp.setDividerSize(0);this.add(jsp);this.setSize(800, 600);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}@Overridepublic void mouseClicked(MouseEvent e) {if (e.getClickCount() == 1) {// 判断用户点击了哪个JLableif (e.getSource() == jb1) {cl.show(jPanel_right, "1");} else if (e.getSource() == jb2) {cl.show(jPanel_right, "2");} else if (e.getSource() == jb3) {cl.show(jPanel_right, "3");}}}@Overridepublic void mousePressed(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseReleased(MouseEvent e) {// TODO Auto-generated method stub}// 鼠标点击@Overridepublic void mouseEntered(MouseEvent e) {// if(e.getSource() == jb1){// jb1.setForeground(Color.RED);// jb1.setCursor(new Cursor(Cursor.HAND_CURSOR));// }// else if(e.getSource() == jb2){// jb1.setForeground(Color.RED);// jb1.setCursor(new Cursor(Cursor.HAND_CURSOR));// }// else if(e.getSource() == jb3){// jb1.setForeground(Color.RED);// jb1.setCursor(new Cursor(Cursor.HAND_CURSOR));// }// 跟上面的代码作用一样((JLabel) e.getSource()).setForeground(Color.RED);((JLabel) e.getSource()).setCursor(new Cursor(Cursor.HAND_CURSOR));}// 鼠标退出@Overridepublic void mouseExited(MouseEvent e) {if (e.getSource() == jb1) {jb1.setForeground(Color.BLACK);jb1.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));} else if (e.getSource() == jb2) {jb2.setForeground(Color.BLACK);jb2.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));} else if (e.getSource() == jb3) {jb3.setForeground(Color.BLACK);jb3.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));}}}</span>

显示的效果


0 0
原创粉丝点击