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
- java学习篇(二)---卡片布局详解(Swing和awt)
- awt和swing学习(二)
- awt和swing学习(一)
- awt和swing学习(三)
- swing学习笔记十一(卡片布局管理器CardLayout )
- java swing 卡片布局测试
- java awt和swing
- 学习AWT/Swing编程(一)解决Eclipse运行AWT/Swing项目和组件时中文乱码
- Java----AWT组件开发和Swing界面编程(二)
- Java AWT编程 布局管理器(二)BorderLayout
- java的awt和swing
- awt/swing 布局管理使用规范(个人心得,仅供参考)
- java GUI(1)--AWT组件和布局管理
- Java专题(二)之GUI-AWT详解
- AWT和Swing的区别详解
- JAVA AWT學習筆記(二)
- Java布局管理器(三)之GridLayout(网格布局管理)和CardLayout( 卡片布局管理)
- java手记---swing类和awt类
- Discount Oakley Sunglasses anthony can take video recording deposit on municipal instance
- Oakley Flak Jacket Sunglasses Elvin remained with all the music group for the purpose of 5 a long ti
- 排列组合
- 25个增强iOS应用程序性能的提示和技巧(高级篇)
- js的StringBuffer类的实现及使用
- java学习篇(二)---卡片布局详解(Swing和awt)
- KVM on CubieTruck 原理以及网络性能相关思考
- Codeforces Round #260 (Div. 2)
- 解析json之org.codehaus.jackson
- Java编程规范
- 【2014 Multi-University Training Contest 6】 J. Fighting the Landlords(模拟)
- ArcGIS之计算面要素的宽度
- 关于Java 字符流和字节流
- Java设计模式--适配器(Adapter)模式