返回列表 發帖

滑鼠事件 (二)

實作指標位置對準圖片, 點擊滑鼠左鍵切換圖片.








附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

  1. package bbs.istak.org.tw;

  2. import java.awt.BorderLayout;
  3. import java.awt.EventQueue;
  4. import java.awt.Image;

  5. import javax.swing.ImageIcon;
  6. import javax.swing.JFrame;
  7. import javax.swing.JPanel;
  8. import javax.swing.border.EmptyBorder;
  9. import javax.swing.JLabel;
  10. import java.awt.event.MouseAdapter;
  11. import java.awt.event.MouseEvent;

  12. public class Main extends JFrame {

  13.         private JPanel contentPane;
  14.        
  15.         public static void main(String[] args) {
  16.                 EventQueue.invokeLater(new Runnable() {
  17.                         public void run() {
  18.                                 try {
  19.                                         Main frame = new Main();
  20.                                         ImageIcon icon = new ImageIcon(Main.class.getResource("star.png"));
  21.                                         Image img = icon.getImage().getScaledInstance(45, 45, java.awt.Image.SCALE_FAST);
  22.                                         frame.setIconImage(img);
  23.                                         frame.setTitle("點按滑鼠切換圖形");
  24.                                         frame.setVisible(true);
  25.                                 } catch (Exception e) {
  26.                                         e.printStackTrace();
  27.                                 }
  28.                         }
  29.                 });
  30.         }
  31.         public Main() {
  32.                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  33.                 setBounds(100, 100, 450, 300);
  34.                 contentPane = new JPanel();
  35.                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  36.                 setContentPane(contentPane);
  37.                 contentPane.setLayout(null);
  38.                
  39.                 ImageIcon icon = new ImageIcon(Main.class.getResource("gift-green.png"));
  40.                 ImageIcon icon_2 = new ImageIcon(Main.class.getResource("hippo.png"));
  41.                
  42.                 JLabel lblNewLabel = new JLabel("");
  43.                 lblNewLabel.setBounds(144, 56, 164, 154);
  44.                 lblNewLabel.setIcon(icon);
  45.                 contentPane.add(lblNewLabel);
  46.                 addMouseListener(new MouseAdapter() {
  47.                         public void mousePressed(MouseEvent e) {
  48.                                 if(e.getButton() == 1){
  49.                                         lblNewLabel.setIcon(icon_2);
  50.                                 }
  51.                                 if(e.getButton() == 3){
  52.                                         lblNewLabel.setIcon(icon);
  53.                                 }
  54.                         }
  55.                 });               
  56.         }
  57. }
複製代碼

TOP

  1. package bbs.istak.org.tw;

  2. import java.awt.BorderLayout;
  3. import java.awt.EventQueue;
  4. import java.awt.Image;

  5. import javax.swing.ImageIcon;
  6. import javax.swing.JFrame;
  7. import javax.swing.JPanel;
  8. import javax.swing.border.EmptyBorder;
  9. import javax.swing.JLabel;
  10. import java.awt.event.MouseAdapter;
  11. import java.awt.event.MouseEvent;

  12. public class MouseButton extends JFrame {

  13.         private JPanel contentPane;
  14.         private ImageIcon icon ;

  15.         /**
  16.          * Launch the application.
  17.          */
  18.         public static void main(String[] args) {
  19.                 EventQueue.invokeLater(new Runnable() {
  20.                         public void run() {
  21.                                 try {
  22.                                         MouseButton frame = new MouseButton();
  23.                                         frame.setVisible(true);
  24.                                 } catch (Exception e) {
  25.                                         e.printStackTrace();
  26.                                 }
  27.                         }
  28.                 });
  29.         }

  30.         /**
  31.          * Create the frame.
  32.          */
  33.         public MouseButton() {
  34.                   
  35.         icon = new ImageIcon(MouseButton.class.getResource("gift-green.png"));
  36.         Image img = icon.getImage().getScaledInstance(109,105,java.awt.Image.SCALE_FAST );
  37.         ImageIcon newicon = new ImageIcon(img);
  38.         
  39.                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  40.                 setBounds(100, 100, 450, 300);
  41.                 contentPane = new JPanel();
  42.                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  43.                 setContentPane(contentPane);
  44.                 contentPane.setLayout(null);
  45.                
  46.                 JLabel lbl = new JLabel(newicon);
  47.                 lbl.addMouseListener(new MouseAdapter() {
  48.                         @Override
  49.                         public void mouseClicked(MouseEvent arg0) {
  50.                                 if(arg0.getButton() == arg0.BUTTON1){
  51.                                        
  52.                                         icon = new ImageIcon(MouseButton.class.getResource("hippo.png"));
  53.                                        
  54.                                 }else if(arg0.getButton() == arg0.BUTTON3){
  55.                                        
  56.                                          icon = new ImageIcon(MouseButton.class.getResource("gift-green.png"));
  57.                                          
  58.                                 }
  59.                                
  60.                                
  61.                              Image img = icon.getImage().getScaledInstance(109,105,java.awt.Image.SCALE_FAST );
  62.                              ImageIcon newiconMB = new ImageIcon(img);
  63.                                 
  64.                                  lbl.setIcon(newiconMB);
  65.                         }
  66.                 });
  67.                 lbl.setBounds(125, 71, 109, 105);
  68.                 contentPane.add(lbl);
  69.         }
  70. }
複製代碼

TOP

  1. package bbs.istak.org.tw;

  2. import java.awt.BorderLayout;
  3. import java.awt.EventQueue;
  4. import java.awt.Image;

  5. import javax.swing.ImageIcon;
  6. import javax.swing.JFrame;
  7. import javax.swing.JPanel;
  8. import javax.swing.border.EmptyBorder;

  9. import java.awt.Toolkit;

  10. import javax.swing.JLabel;

  11. import java.awt.event.MouseAdapter;
  12. import java.awt.event.MouseEvent;

  13. public class Main extends JFrame {

  14.         private JPanel contentPane;
  15.         private ImageIcon icon;

  16.         /**
  17.          * Launch the application.
  18.          */
  19.         public static void main(String[] args) {
  20.                 EventQueue.invokeLater(new Runnable() {
  21.                         public void run() {
  22.                                 try {
  23.                                         Main frame = new Main();
  24.                                         frame.setVisible(true);
  25.                                 } catch (Exception e) {
  26.                                         e.printStackTrace();
  27.                                 }
  28.                         }
  29.                 });
  30.         }

  31.         /**
  32.          * Create the frame.
  33.          */
  34.         public Main() {
  35.                 setIconImage(Toolkit.getDefaultToolkit().getImage(Main.class.getResource("pic/star.png")));
  36.                 setTitle("點擊滑鼠切換圖形");
  37.                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  38.                 setBounds(100, 100, 450, 300);
  39.                 contentPane = new JPanel();
  40.                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  41.                 setContentPane(contentPane);
  42.                 contentPane.setLayout(null);
  43.                
  44.         ImageIcon newIcon = new ImageIcon(Main.class.getResource("gift-green.png"));
  45.         ImageIcon newhippo = new ImageIcon(Main.class.getResource("hippo.png"));
  46.                
  47.                 JLabel lb = new JLabel(newIcon);
  48.                 lb.addMouseListener(new MouseAdapter() {
  49.                         @Override
  50.                         public void mousePressed(MouseEvent e) {
  51.                                
  52.                                 if(e.getButton()==1) {
  53.                                         lb.setIcon(newhippo);
  54.                                 }
  55.                         }
  56.                 });
  57.                 lb.setBounds(120, 72, 200, 116);
  58.                 contentPane.add(lb);
  59.         }
  60. }
複製代碼

TOP

  1. import java.awt.BorderLayout;
  2. import java.awt.EventQueue;

  3. import javax.swing.JFrame;
  4. import javax.swing.JPanel;
  5. import javax.swing.border.EmptyBorder;
  6. import javax.swing.JLabel;
  7. import javax.swing.ImageIcon;
  8. import java.awt.Toolkit;
  9. import java.awt.event.MouseAdapter;
  10. import java.awt.event.MouseEvent;


  11. public class GIFT extends JFrame {

  12.         private JPanel contentPane;

  13.         /**
  14.          * Launch the application.
  15.          */
  16.         public static void main(String[] args) {
  17.                 EventQueue.invokeLater(new Runnable() {
  18.                         public void run() {
  19.                                 try {
  20.                                         GIFT frame = new GIFT();
  21.                                         frame.setVisible(true);
  22.                                 } catch (Exception e) {
  23.                                         e.printStackTrace();
  24.                                 }
  25.                         }
  26.                 });
  27.         }

  28.         /**
  29.          * Create the frame.
  30.          */
  31.         public GIFT() {
  32.                 setIconImage(Toolkit.getDefaultToolkit().getImage("D:\\TEST\\GIFT\\bin\\star.png"));
  33.                 setTitle("\u9EDE\u6309\u6ED1\u9F20\u5207\u63DB\u5716\u5F62");
  34.                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  35.                 setBounds(100, 100, 450, 300);
  36.                 contentPane = new JPanel();
  37.                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  38.                 setContentPane(contentPane);
  39.                 contentPane.setLayout(null);
  40.                
  41.                 JLabel gift = new JLabel("");
  42.                 gift.addMouseListener(new MouseAdapter() {
  43.                         @Override
  44.                         public void mouseClicked(MouseEvent e) {
  45.                                 if(e.getButton() == 1)
  46.                                 {
  47.                                         gift.setIcon(new ImageIcon(GIFT.class.getResource("hippo.png")));
  48.                                 }       
  49.                         }
  50.                 });
  51.                
  52.                 gift.setIcon(new ImageIcon(GIFT.class.getResource("gift-green.png")));
  53.                 gift.setBounds(139, 54, 128, 142);
  54.                 contentPane.add(gift);
  55.         }
  56. }
複製代碼

TOP

  1. package bbs.istak.org.tw;

  2. import java.awt.BorderLayout;
  3. import java.awt.EventQueue;
  4. import java.awt.Image;

  5. import javax.swing.Icon;
  6. import javax.swing.ImageIcon;
  7. import javax.swing.JFrame;
  8. import javax.swing.JPanel;
  9. import javax.swing.border.EmptyBorder;

  10. import java.awt.Toolkit;

  11. import javax.swing.JLabel;

  12. import java.awt.event.MouseAdapter;
  13. import java.awt.event.MouseEvent;

  14. public class Main extends JFrame {

  15.         private JPanel contentPane;
  16.         private ImageIcon icon;
  17.         private JLabel label;
  18.         private int t=0;
  19.         private Icon newIcon;
  20.         /**
  21.          * Launch the application.
  22.          */
  23.         public static void main(String[] args) {
  24.                 EventQueue.invokeLater(new Runnable() {
  25.                         public void run() {
  26.                                 try {
  27.                                         Main frame = new Main();
  28.                                         frame.setVisible(true);
  29.                                 } catch (Exception e) {
  30.                                         e.printStackTrace();
  31.                                 }
  32.                         }
  33.                 });
  34.         }

  35.         /**
  36.          * Create the frame.
  37.          */
  38.         public Main() {
  39.                 setIconImage(Toolkit.getDefaultToolkit().getImage(Main.class.getResource("/bbs/istak/org/tw/star.png")));
  40.                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  41.                 setBounds(100, 100, 450, 300);
  42.                 contentPane = new JPanel();
  43.                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  44.                 setContentPane(contentPane);
  45.                 contentPane.setLayout(null);
  46.                
  47.                 String[] s = {"hippo.png","gift-green.png"};
  48.                
  49.                 icon = new ImageIcon(Main.class.getResource(s[0]));
  50.                 Image img = icon.getImage().getScaledInstance(50, 50, Image.SCALE_FAST);
  51.                 newIcon = new ImageIcon(img);
  52.                
  53.                 JLabel label = new JLabel(newIcon);
  54.                 label.setBounds(143, 57, 115, 111);
  55.                 contentPane.add(label);
  56.                 label.addMouseListener(new MouseAdapter() {
  57.                        

  58.                         @Override
  59.                         public void mousePressed(MouseEvent arg0) {
  60.                                 icon = new ImageIcon(Main.class.getResource(s[t]));
  61.                                 Image img = icon.getImage().getScaledInstance(50, 50, Image.SCALE_FAST);
  62.                                 newIcon = new ImageIcon(img);
  63.                                
  64.                                 label.setIcon(newIcon);
  65.                                
  66.                                
  67.                                 if(t==1)
  68.                                 {
  69.                                         t=0;
  70.                                 }else
  71.                                 {
  72.                                         t++;
  73.                                 }
  74.                         }
  75.                 });

  76.         }

  77. }
複製代碼

TOP

  1. package asdf;

  2. import java.awt.BorderLayout;
  3. import java.awt.EventQueue;
  4. import java.awt.Image;

  5. import javax.swing.ImageIcon;
  6. import javax.swing.JFrame;
  7. import javax.swing.JPanel;
  8. import javax.swing.border.EmptyBorder;
  9. import javax.swing.JLabel;
  10. import java.awt.event.MouseAdapter;
  11. import java.awt.event.MouseEvent;
  12. import java.awt.Toolkit;

  13. public class Asdf extends JFrame {
  14.         private JPanel contentPane;
  15.         private ImageIcon icon ;
  16.         /**
  17.          * Launch the application.
  18.          */
  19.         public static void main(String[] args) {
  20.                 EventQueue.invokeLater(new Runnable() {
  21.                         public void run() {
  22.                                 try {
  23.                                             Asdf frame = new Asdf();
  24.                                         frame.setVisible(true);
  25.                                 } catch (Exception e) {
  26.                                         e.printStackTrace();
  27.                                 }
  28.                         }
  29.                 });
  30.         }
  31.         /**
  32.          * Create the frame.
  33.          */
  34.         public Asdf() {
  35.                 setTitle("\u9EDE\u6309\u6ED1\u9F20\u5207\u63DB\u5716\u5F62");
  36.                 setIconImage(Toolkit.getDefaultToolkit().getImage("C:\\Users\\student\\Downloads\\star.png"));                  
  37.         icon = new ImageIcon(Asdf.class.getResource("gift-green.png"));
  38.         Image img = icon.getImage().getScaledInstance(109,105,java.awt.Image.SCALE_FAST );
  39.         ImageIcon newicon = new ImageIcon(img);        
  40.                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  41.                 setBounds(100, 100, 450, 300);
  42.                 contentPane = new JPanel();
  43.                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  44.                 setContentPane(contentPane);
  45.                 contentPane.setLayout(null);               
  46.                 JLabel bg = new JLabel(newicon);
  47.                 bg.addMouseListener(new MouseAdapter() {
  48.                         @Override
  49.                         public void mouseClicked(MouseEvent arg0) {
  50.                                 if(arg0.getButton() == 1){                                       
  51.                                         icon = new ImageIcon(Asdf.class.getResource("hippo.png"));                                
  52.                                 }
  53.                                 if(arg0.getButton() == 3){
  54.                                          icon = new ImageIcon(Asdf.class.getResource("gift-green.png"));
  55.                                 }                                                            
  56.                              Image img = icon.getImage().getScaledInstance(109,105,java.awt.Image.SCALE_FAST );
  57.                              ImageIcon newiconMB = new ImageIcon(img);                                
  58.                                  bg.setIcon(newiconMB);
  59.                         }
  60.                 });
  61.                 bg.setBounds(125, 71, 109, 105);
  62.                 contentPane.add(bg);
  63.         }
  64. }
複製代碼
我是眾神之王XXX  I love you
0000000000

TOP

返回列表