返回列表 發帖

滑鼠事件 (三)

本帖最後由 tonyh 於 2016-6-16 16:36 編輯

試定義四個內部類別 (InnerClass) 來實作 MouseListener 介面, 再分別將它們註冊給視窗中的四個標籤, 使能各別點擊它們來置換圖案. 執行狀況如下圖所示:

JFrame的設定: 100, 100, 420, 320
JLabel的設定:
50, 20, 128, 128
250, 20, 128, 128
50, 160, 128, 128
250, 160, 128, 128







  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import javax.swing.ImageIcon;
  4. import java.awt.event.MouseListener;
  5. import java.awt.event.MouseEvent;

  6. public class Ch89{
  7.         
  8.     private JFrame fm;
  9.     private JLabel lb1,lb2,lb3,lb4;
  10.     private ImageIcon icon1,icon2,icon3,icon4,icon5,icon6,icon7,icon8,icon9;
  11.         
  12.     Ch89()
  13.     {
  14.         icon1=new ImageIcon(Ch89.class.getResource("pic/star.png"));
  15.         icon2=new ImageIcon(Ch89.class.getResource("pic/gift-green.png"));
  16.         icon3=new ImageIcon(Ch89.class.getResource("pic/hippo.png"));
  17.         icon4=new ImageIcon(Ch89.class.getResource("pic/gift-blue.png"));
  18.         icon5=new ImageIcon(Ch89.class.getResource("pic/monkey.png"));
  19.         icon6=new ImageIcon(Ch89.class.getResource("pic/gift-purple.png"));
  20.         icon7=new ImageIcon(Ch89.class.getResource("pic/cat.png"));
  21.         icon8=new ImageIcon(Ch89.class.getResource("pic/gift-white.png"));
  22.         icon9=new ImageIcon(Ch89.class.getResource("pic/panda.png"));
  23.                
  24.         lb1=new JLabel(icon2);
  25.         lb1.setBounds(50, 20, 128, 128);
  26.         lb1.addMouseListener(new Try1());
  27.         lb2=new JLabel(icon4);
  28.         lb2.setBounds(250, 20, 128, 128);
  29.         lb2.addMouseListener(new Try2());
  30.         lb3=new JLabel(icon6);
  31.         lb3.setBounds(50, 160, 128, 128);
  32.         lb3.addMouseListener(new Try3());
  33.         lb4=new JLabel(icon8);
  34.         lb4.setBounds(250, 160, 128, 128);
  35.         lb4.addMouseListener(new Try4());
  36.                
  37.         fm=new JFrame("點按滑鼠切換圖形");
  38.         fm.setBounds(100, 100, 420, 320);
  39.         fm.setIconImage(icon1.getImage());
  40.         fm.setVisible(true);
  41.         fm.setResizable(false);
  42.         fm.setLayout(null);
  43.         fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  44.         fm.add(lb1);
  45.         fm.add(lb2);
  46.         fm.add(lb3);
  47.         fm.add(lb4);
  48.     }
  49.         
  50.     class Try1 implements MouseListener
  51.     {
  52.         public void mousePressed(MouseEvent e)
  53.         {
  54.             if(lb1.getIcon()==icon2)
  55.                 lb1.setIcon(icon3);
  56.             else
  57.                 lb1.setIcon(icon2);
  58.         }
  59.         public void mouseReleased(MouseEvent e){}         
  60.         public void mouseClicked(MouseEvent e){}         
  61.         public void mouseEntered(MouseEvent e){}
  62.         public void mouseExited(MouseEvent e){}                             
  63.     }
  64.         
  65.     class Try2 implements MouseListener
  66.     {
  67.         public void mousePressed(MouseEvent e)
  68.         {
  69.             if(lb2.getIcon()==icon4)
  70.                 lb2.setIcon(icon5);
  71.             else
  72.                 lb2.setIcon(icon4);
  73.         }
  74.         public void mouseReleased(MouseEvent e){}         
  75.         public void mouseClicked(MouseEvent e){}         
  76.         public void mouseEntered(MouseEvent e){}
  77.         public void mouseExited(MouseEvent e){}                             
  78.     }
  79.         
  80.     class Try3 implements MouseListener
  81.     {
  82.         public void mousePressed(MouseEvent e)
  83.         {
  84.             if(lb3.getIcon()==icon6)
  85.                 lb3.setIcon(icon7);
  86.             else
  87.                 lb3.setIcon(icon6);
  88.         }
  89.         public void mouseReleased(MouseEvent e){}         
  90.         public void mouseClicked(MouseEvent e){}         
  91.         public void mouseEntered(MouseEvent e){}
  92.         public void mouseExited(MouseEvent e){}                             
  93.     }
  94.         
  95.     class Try4 implements MouseListener
  96.     {
  97.         public void mousePressed(MouseEvent e)
  98.         {
  99.             if(lb4.getIcon()==icon8)
  100.                 lb4.setIcon(icon9);
  101.             else
  102.                 lb4.setIcon(icon8);
  103.         }
  104.         public void mouseReleased(MouseEvent e){}         
  105.         public void mouseClicked(MouseEvent e){}         
  106.         public void mouseEntered(MouseEvent e){}
  107.         public void mouseExited(MouseEvent e){}                             
  108.     }

  109.     public static void main(String[] args) {
  110.         Ch89 app=new Ch89();
  111.     }

  112. }
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import javax.swing.ImageIcon;
  4. import java.awt.event.MouseListener;
  5. import java.awt.event.MouseEvent;

  6. public class Ch89
  7. {
  8.         
  9.     private JFrame fm;
  10.     private JLabel lb1,lb2,lb3,lb4;
  11.     private ImageIcon icon1,icon2,icon3,icon4,icon5,icon6,icon7,icon8,icon9;
  12.         
  13.     Ch89()
  14.     {
  15.         icon1=new ImageIcon(Ch89.class.getResource("pic/star.png"));
  16.         icon2=new ImageIcon(Ch89.class.getResource("pic/gift-green.png"));
  17.         icon3=new ImageIcon(Ch89.class.getResource("pic/hippo.png"));
  18.         icon4=new ImageIcon(Ch89.class.getResource("pic/gift-blue.png"));
  19.         icon5=new ImageIcon(Ch89.class.getResource("pic/monkey.png"));
  20.         icon6=new ImageIcon(Ch89.class.getResource("pic/gift-purple.png"));
  21.         icon7=new ImageIcon(Ch89.class.getResource("pic/cat.png"));
  22.         icon8=new ImageIcon(Ch89.class.getResource("pic/gift-white.png"));
  23.         icon9=new ImageIcon(Ch89.class.getResource("pic/panda.png"));
  24.                
  25.         lb1=new JLabel(icon2);
  26.         lb1.setBounds(50, 20, 128, 128);
  27.         lb1.addMouseListener(new Try1());
  28.         lb2=new JLabel(icon4);
  29.         lb2.setBounds(250, 20, 128, 128);
  30.         lb2.addMouseListener(new Try2());
  31.         lb3=new JLabel(icon6);
  32.         lb3.setBounds(50, 160, 128, 128);
  33.         lb3.addMouseListener(new Try3());
  34.         lb4=new JLabel(icon8);
  35.         lb4.setBounds(250, 160, 128, 128);
  36.         lb4.addMouseListener(new Try4());
  37.                
  38.         fm=new JFrame("點按滑鼠切換圖形");
  39.         fm.setBounds(100, 100, 420, 320);
  40.         fm.setIconImage(icon1.getImage());
  41.         fm.setVisible(true);
  42.         fm.setResizable(false);
  43.         fm.setLayout(null);
  44.         fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  45.         fm.add(lb1);
  46.         fm.add(lb2);
  47.         fm.add(lb3);
  48.         fm.add(lb4);
  49.     }
  50.         
  51.     class Try1 implements MouseListener
  52.     {
  53.         public void mousePressed(MouseEvent e)
  54.         {
  55.             if(lb1.getIcon()==icon2)
  56.                 lb1.setIcon(icon3);
  57.             else
  58.                 lb1.setIcon(icon2);
  59.         }
  60.         public void mouseReleased(MouseEvent e){}         
  61.         public void mouseClicked(MouseEvent e){}         
  62.         public void mouseEntered(MouseEvent e){}
  63.         public void mouseExited(MouseEvent e){}                              
  64.     }
  65.         
  66.     class Try2 implements MouseListener
  67.     {
  68.         public void mousePressed(MouseEvent e)
  69.         {
  70.             if(lb2.getIcon()==icon4)
  71.                 lb2.setIcon(icon5);
  72.             else
  73.                 lb2.setIcon(icon4);
  74.         }
  75.         public void mouseReleased(MouseEvent e){}         
  76.         public void mouseClicked(MouseEvent e){}         
  77.         public void mouseEntered(MouseEvent e){}
  78.         public void mouseExited(MouseEvent e){}                              
  79.     }
  80.         
  81.     class Try3 implements MouseListener
  82.     {
  83.         public void mousePressed(MouseEvent e)
  84.         {
  85.             if(lb3.getIcon()==icon6)
  86.                 lb3.setIcon(icon7);
  87.             else
  88.                 lb3.setIcon(icon6);
  89.         }
  90.         public void mouseReleased(MouseEvent e){}         
  91.         public void mouseClicked(MouseEvent e){}         
  92.         public void mouseEntered(MouseEvent e){}
  93.         public void mouseExited(MouseEvent e){}                              
  94.     }
  95.         
  96.     class Try4 implements MouseListener
  97.     {
  98.         public void mousePressed(MouseEvent e)
  99.         {
  100.             if(lb4.getIcon()==icon8)
  101.                 lb4.setIcon(icon9);
  102.             else
  103.                 lb4.setIcon(icon8);
  104.         }
  105.         public void mouseReleased(MouseEvent e){}         
  106.         public void mouseClicked(MouseEvent e){}         
  107.         public void mouseEntered(MouseEvent e){}
  108.         public void mouseExited(MouseEvent e){}                              
  109.     }

  110.     public static void main(String[] args)
  111.     {
  112.         Ch89 app=new Ch89();
  113.     }

  114. }
複製代碼

TOP

  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import javax.swing.ImageIcon;
  4. import java.awt.event.MouseListener;
  5. import java.awt.event.MouseEvent;

  6. public class Ch89{
  7.         
  8.     private JFrame fm;
  9.     private JLabel lb1,lb2,lb3,lb4;
  10.     private ImageIcon icon1,icon2,icon3,icon4,icon5,icon6,icon7,icon8,icon9;
  11.         
  12.     Ch89()
  13.     {
  14.         icon1=new ImageIcon(Ch89.class.getResource("pic/star.png"));
  15.         icon2=new ImageIcon(Ch89.class.getResource("pic/gift-green.png"));
  16.         icon3=new ImageIcon(Ch89.class.getResource("pic/hippo.png"));
  17.         icon4=new ImageIcon(Ch89.class.getResource("pic/gift-blue.png"));
  18.         icon5=new ImageIcon(Ch89.class.getResource("pic/monkey.png"));
  19.         icon6=new ImageIcon(Ch89.class.getResource("pic/gift-purple.png"));
  20.         icon7=new ImageIcon(Ch89.class.getResource("pic/cat.png"));
  21.         icon8=new ImageIcon(Ch89.class.getResource("pic/gift-white.png"));
  22.         icon9=new ImageIcon(Ch89.class.getResource("pic/panda.png"));
  23.                
  24.         lb1=new JLabel(icon2);
  25.         lb1.setBounds(50, 20, 128, 128);
  26.         lb1.addMouseListener(new Try1());
  27.         lb2=new JLabel(icon4);
  28.         lb2.setBounds(250, 20, 128, 128);
  29.         lb2.addMouseListener(new Try2());
  30.         lb3=new JLabel(icon6);
  31.         lb3.setBounds(50, 160, 128, 128);
  32.         lb3.addMouseListener(new Try3());
  33.         lb4=new JLabel(icon8);
  34.         lb4.setBounds(250, 160, 128, 128);
  35.         lb4.addMouseListener(new Try4());
  36.                
  37.         fm=new JFrame("點按滑鼠切換圖形");
  38.         fm.setBounds(100, 100, 420, 320);
  39.         fm.setIconImage(icon1.getImage());
  40.         fm.setVisible(true);
  41.         fm.setResizable(false);
  42.         fm.setLayout(null);
  43.         fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  44.         fm.add(lb1);
  45.         fm.add(lb2);
  46.         fm.add(lb3);
  47.         fm.add(lb4);
  48.     }
  49.         
  50.     class Try1 implements MouseListener
  51.     {
  52.         public void mousePressed(MouseEvent e)
  53.         {
  54.             if(lb1.getIcon()==icon2)
  55.                 lb1.setIcon(icon3);
  56.             else
  57.                 lb1.setIcon(icon2);
  58.         }
  59.         public void mouseReleased(MouseEvent e){}         
  60.         public void mouseClicked(MouseEvent e){}         
  61.         public void mouseEntered(MouseEvent e){}
  62.         public void mouseExited(MouseEvent e){}                              
  63.     }
  64.         
  65.     class Try2 implements MouseListener
  66.     {
  67.         public void mousePressed(MouseEvent e)
  68.         {
  69.             if(lb2.getIcon()==icon4)
  70.                 lb2.setIcon(icon5);
  71.             else
  72.                 lb2.setIcon(icon4);
  73.         }
  74.         public void mouseReleased(MouseEvent e){}         
  75.         public void mouseClicked(MouseEvent e){}         
  76.         public void mouseEntered(MouseEvent e){}
  77.         public void mouseExited(MouseEvent e){}                              
  78.     }
  79.         
  80.     class Try3 implements MouseListener
  81.     {
  82.         public void mousePressed(MouseEvent e)
  83.         {
  84.             if(lb3.getIcon()==icon6)
  85.                 lb3.setIcon(icon7);
  86.             else
  87.                 lb3.setIcon(icon6);
  88.         }
  89.         public void mouseReleased(MouseEvent e){}         
  90.         public void mouseClicked(MouseEvent e){}         
  91.         public void mouseEntered(MouseEvent e){}
  92.         public void mouseExited(MouseEvent e){}                              
  93.     }
  94.         
  95.     class Try4 implements MouseListener
  96.     {
  97.         public void mousePressed(MouseEvent e)
  98.         {
  99.             if(lb4.getIcon()==icon8)
  100.                 lb4.setIcon(icon9);
  101.             else
  102.                 lb4.setIcon(icon8);
  103.         }
  104.         public void mouseReleased(MouseEvent e){}         
  105.         public void mouseClicked(MouseEvent e){}         
  106.         public void mouseEntered(MouseEvent e){}
  107.         public void mouseExited(MouseEvent e){}                              
  108.     }

  109.     public static void main(String[] args) {
  110.         Ch89 app=new Ch89();
  111.     }

  112. }
複製代碼

TOP

返回列表