java 卡片布局
2014-04-22 21:24
232 查看
卡片布局
就是卡片一张接着一张的显示
1 将需要卡片显示的内容加入一个容器中
如本例中jp1
2并将其设置为卡片布局
c1=new CardLayout();
jp1.setLayout(c1);
jp1.add(jl1,"1");
jp1.add(jl2,"2");
3 在需要用的时候,只需要触发相应的动作就可以了。
就是卡片一张接着一张的显示
package zixue; /* * 功能:卡布布局简单案例,其中用面板来存放卡片,面板相当于实际中的卡片盒,用于存放卡片 *其中,把需要的图片新建一个文件夹存放即可调用 * */ import java.awt.*; import javax.swing.*; import java.awt.event.*; public class CardLayout_1 extends JFrame implements ActionListener{ //定义卡片布局的相关组件 CardLayout c1;//这样定义是为了后面卡片的切换时调用c1的方法 JPanel jp1;//用于设置卡片布局的面板 JPanel jp2;//用于放置标签的面板 JButton jb1,jb2; JLabel jl1,jl2,jl3; public static void main(String[] args) { // TODO Auto-generated method stub CardLayout_1 card =new CardLayout_1(); } public CardLayout_1() { //创建组件 //创建一个卡片布局对象 c1=new CardLayout(); //创建用于点击显示卡片的按钮 jb1=new JButton("卡片1"); //添加监听 jb1.addActionListener(this); jb2=new JButton("卡片2"); jb2.addActionListener(this); //创建图片标签,也就是卡片 jl1=new JLabel(new ImageIcon("image/qq.gif")); jl2=new JLabel(new ImageIcon("image/mm.jpg")); jp1=new JPanel(); jp2=new JPanel(); //设置面板jp1为卡片布局 jp1.setLayout(c1); //给jp1添加卡片,默认显示最上面的那张卡片 jp1.add(jl1,"1"); jp1.add(jl2,"2"); jp2.add(jb1,BorderLayout.NORTH); jp2.add(jb2,BorderLayout.CENTER); //添加到窗体 this.add(jp1,BorderLayout.NORTH); this.add(jp2,BorderLayout.SOUTH); //设置窗体属性 this.setTitle("卡片布局"); this.setSize(300,150); this.setBackground(Color.green); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub if(arg0.getSource()==jb1) { //通过卡片布局对象显示jp1面板上的卡号为2的卡片 c1.show(jp1, "2"); } else if(arg0.getSource()==jb2) { c1.show(jp1, "1"); } } }
1 将需要卡片显示的内容加入一个容器中
如本例中jp1
2并将其设置为卡片布局
c1=new CardLayout();
jp1.setLayout(c1);
jp1.add(jl1,"1");
jp1.add(jl2,"2");
3 在需要用的时候,只需要触发相应的动作就可以了。
package zixue; /* * 功能:卡布布局简单案例,其中用面板来存放卡片,面板相当于实际中的卡片盒,用于存放卡片 *其中,把需要的图片新建一个文件夹存放即可调用 * */ import java.awt.*; import javax.swing.*; import java.awt.event.*; public class CardLayout_1 extends JFrame implements ActionListener ,MouseListener{ //定义卡片布局的相关组件 CardLayout c1;//这样定义是为了后面卡片的切换时调用c1的方法 JPanel jp1;//用于设置卡片布局的面板 JPanel jp2;//用于放置标签的面板 JButton jb1,jb2; JLabel jl1,jl2,jl3; public static void main(String[] args) { // TODO Auto-generated method stub CardLayout_1 card =new CardLayout_1(); } public CardLayout_1() { //创建组件 //创建一个卡片布局对象 c1=new CardLayout(); //创建用于点击显示卡片的按钮 jb1=new JButton("卡片1"); jb1.addMouseListener(this); //添加监听 jb1.addActionListener(this); jb2=new JButton("卡片2"); jb2.addActionListener(this); jb2.addMouseListener(this); //创建图片标签,也就是卡片 jl1=new JLabel(new ImageIcon("image/qq.gif")); jl2=new JLabel(new ImageIcon("image/mm.jpg")); jp1=new JPanel(); jp2=new JPanel(); //设置面板jp1为卡片布局 jp1.setLayout(c1); //给jp1添加卡片,默认显示最上面的那张卡片 jp1.add(jl1,"1"); jp1.add(jl2,"2"); jp2.add(jb1,BorderLayout.NORTH); jp2.add(jb2,BorderLayout.CENTER); //添加到窗体 this.add(jp1,BorderLayout.NORTH); this.add(jp2,BorderLayout.SOUTH); //设置窗体属性 this.setTitle("卡片布局"); this.setSize(300,150); this.setBackground(Color.green); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub if(arg0.getSource()==jb1) { //通过卡片布局对象显示jp1面板上的卡号为2的卡片 c1.show(jp1, "2"); } else if(arg0.getSource()==jb2) { c1.show(jp1, "1"); } } public void mouseClicked(MouseEvent e) { // TODO Auto-generated method stub } public void mouseEntered(MouseEvent e) { // TODO Auto-generated method stub if(e.getSource()==jb1){ c1.show(jp1, "2"); }else if(e.getSource()==jb2){ c1.show(jp1, "1"); } } public void mouseExited(MouseEvent e) { // TODO Auto-generated method stub } public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub } public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub } }
相关文章推荐
- java学习笔记-------对卡片布局管理器的深入理解
- 三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- Java开发GUI之CardLayout卡片布局
- 三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- 六、Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- [转]Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- Java学习笔记-------好友列表的实现------卡片布局 实例
- Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- 十九、java-GUI之卡片布局(CardLayout)
- Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- Java项目初学---------卡片布局
- Java使用卡片布局管理器
- Java卡片布局管理器解释及实例
- 初学java 课程设计ATM机 简易系统(卡片布局)
- Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- 三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- 三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)
- Java基础之创建窗口——使用卡片布局管理器(TryCardLayout)
- Java-GUI(4)JSplitPane、设置窗口小图标、JTabbedPane、记事本中用到的组件、卡片布局
- Java_GUI_布局_卡片布局