返回列表 發帖
  1. import javax.swing.*;
  2. import java.awt.event.MouseListener;
  3. import java.awt.event.MouseMotionListener;
  4. import java.awt.event.MouseEvent;
  5. public class Ch96 implements MouseListener,MouseMotionListener{
  6.     private JFrame fm;
  7.     private JLabel lb;
  8.     private ImageIcon icon_s,icon;
  9.     private int x=100,y=100,x1,y1,x2,y2;
  10.     private boolean isDrag=false;
  11.         Ch96()
  12.     {
  13.             icon_s=new ImageIcon(Ch96.class.getResource("pic/star.png"));
  14.             icon=new ImageIcon(Ch96.class.getResource("pic/santa.png"));
  15.                 lb=new JLabel(icon);
  16.                 lb.setBounds(0,0,128,128);
  17.                 lb.addMouseListener(this);
  18.                 lb.addMouseMotionListener(this);
  19.                 fm=new JFrame("滑鼠指標拖曳圖形");
  20.                 fm.setIconImage(icon_s.getImage());
  21.             fm.setBounds(100,100,420,320);
  22.             fm.setVisible(true);
  23.             fm.setResizable(false);
  24.             fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  25.             fm.setLayout(null);
  26.             fm.add(lb);
  27.     }
  28.         public void mousePressed(MouseEvent e){
  29.                 if(isDrag)
  30.                         return;
  31.                 if(e.getButton()==1)
  32.                         isDrag=true;
  33.                 x1=e.getX();
  34.                 y1=e.getY();
  35.         }
  36.         public void mouseReleased(MouseEvent e){
  37.                 if(!isDrag)
  38.                         return;
  39.                 isDrag=false;
  40.         }
  41.         public void mouseClicked(MouseEvent e){}
  42.         public void mouseEntered(MouseEvent e){}
  43.         public void mouseExited(MouseEvent e){}
  44.         public void mouseMoved(MouseEvent e){}
  45.         public void mouseDragged(MouseEvent e)
  46.         {
  47.             if(!isDrag)
  48.                     return;
  49.             x2=e.getX();
  50.             y2=e.getY();
  51.             x+=(x2-x1);
  52.             y+=(y2-y1);
  53.             lb.setLocation(x, y);
  54.         }
  55.         public static void main(String[] args){
  56.                 new Ch96();
  57.         }
  58. }
複製代碼

TOP

返回列表