A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈少文 中级黑马   /  2012-7-24 09:07  /  1942 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1. *package seeimage;
  2. /*
  3. * 看图软件
  4. * 主要用CardLayout布局
  5. *
  6. *
  7. *
  8. *
  9. * */
  10. import java.awt.BorderLayout;
  11. import java.awt.CardLayout;
  12. import java.awt.event.ActionEvent;
  13. import java.awt.event.ActionListener;
  14. import javax.swing.ImageIcon;
  15. import javax.swing.JButton;
  16. import javax.swing.JFrame;
  17. import javax.swing.JLabel;
  18. import javax.swing.JPanel;
  19. class ShowImage extends JFrame implements ActionListener
  20. {
  21.         CardLayout cartlayout = new CardLayout(10, 5);
  22.         // 设置面板cardPanel按CardLayout布局
  23.         JPanel cardPanel = new JPanel(cartlayout);
  24.         JButton jbFirst, jbLast, jbPrevious, jbNext;
  25.         ShowImage()
  26.         {
  27.                 //创建表示7张图片标签,加入面板cardPanel
  28.                 for (int i = 1; i <= 7; i++)
  29.                 {
  30.                         JLabel label = new JLabel(new ImageIcon("images/" + i + ".gif"));
  31.                         cardPanel.add(label, String.valueOf(i)); //卡片名必须是String型
  32.                 }
  33.                 JPanel p = new JPanel();
  34.                 // 创建按钮对象并加入面板p
  35.                 p.add(jbFirst = new JButton("第一张"));
  36.                 p.add(jbLast = new JButton("最后张"));
  37.                 p.add(jbPrevious = new JButton("前一张"));
  38.                 p.add(jbNext = new JButton("后一张"));
  39.                 add(cardPanel);      //把面板cardPanel加入窗口中区
  40.                 add(p,BorderLayout.SOUTH);   //把面板p加入窗口南区
  41.                 cartlayout.first(cardPanel);  //显示第1张卡片
  42.                 jbFirst.addActionListener(this);
  43.                 jbLast.addActionListener(this);
  44.                 jbPrevious.addActionListener(this);
  45.                 jbNext.addActionListener(this);
  46.         }
  47.         public void actionPerformed(ActionEvent e)
  48.         {
  49.                 if(e.getSource()==jbFirst)
  50.                         cartlayout.first(cardPanel);
  51.                 else if(e.getSource()==jbLast)
  52.                 cartlayout.last(cardPanel);
  53.                 else if(e.getSource()==jbPrevious)
  54.                 cartlayout.previous(cardPanel);
  55.                 else if(e.getSource()==jbNext)
  56.                 cartlayout.next(cardPanel);
  57.         }
  58. }
  59. public class SeeImage
  60. {
  61.         public static void main(String[] args)
  62.         {
  63.                 ShowImage f = new ShowImage();
  64.                 f.setTitle("展示图片");
  65.                 f.setSize(350, 300);
  66.                 f.setLocation(400, 300);
  67.                 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  68.                 f.setVisible(true);
  69.         }
  70. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
田向向 + 1 赞一个!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马