1 2 importjava.awt.*;3 importjavax.swing.*;4 importjava.awt.event.*;5 importjavax.swing.event.*;6 7 publicclassMain8 {9 publicstaticvoidmain (String args[])10 {11 JFrame f=newJFrame ();12 f.setLayout (null);13 NEWImagepanel pan=newNEWImagepanel ("/1.jpg");14 pan.setPreferredSize (newDimension (800,800));15 JScrollPane jspan=newJScrollPane (pan);16 jspan.setHorizontalScrollBarPolicy (JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);17 jspan.setVerticalScrollBarPolicy (JScrollPane.VERTICAL_SCROLLBAR_NEVER);18 jspan.setBounds (0,0,400,400);19 f.setSize (400,500);20 f.add ("Center",jspan);21 f.setVisible (true);22 f.setDefaultCloseOperation (f.EXIT_ON_CLOSE);23 }24 }25 classNEWImagepanelextendsJPanelimplementsMouseListener ,MouseInputListener26 {27 privateImage bgimg;28 intanchorX=0;29 intanchorY=0;30 31 publicNEWImagepanel ()32 {33 super();34 }35 //参数所指图片文件的路径36 publicNEWImagepanel (String path)37 {38 39 super();40 41 MediaTracker tracker=newMediaTracker (this);42 bgimg=newImageIcon (getClass ().getResource (path)).getImage ();43 tracker.addImage (bgimg,0);44 try45 {46 tracker.waitForAll ();47 }48 catch(Exception e)49 {50 e.printStackTrace ();51 }52 addMouseMotionListener (this);53 addMouseListener (this);54 55 }56 publicvoidpaintComponent (Graphics g)57 {58 if(bgimg==null)59 {60 super.paintComponent (g);61 }62 g.drawImage (bgimg,0,0,this.getWidth (),this.getHeight (),this);63 //g.drawImage (bgimg ,0,0,null);64 }65 66 publicvoidmouseClicked (MouseEvent e)67 {68 }69 70 publicvoidmousePressed (MouseEvent e)71 {72 anchorX=e.getX ();73 anchorY=e.getY ();74 try75 {76 setCursor (Cursor.getPredefinedCursor (Cursor.MOVE_CURSOR));77 }78 catch(Exception ex)79 {80 System.out.println (ex.toString ());81 }82 }83 84 publicvoidmouseReleased (MouseEvent e)85 {86 setCursor (Cursor.getDefaultCursor ());87 }88 89 publicvoidmouseEntered (MouseEvent e)90 {91 }92 93 publicvoidmouseExited (MouseEvent e)94 {95 }96 97 publicvoidmouseDragged (MouseEvent e)98 {99 intx=e.getX ();100 inty=e.getY ();101 Container parent=getParent ();102 if(parentinstanceofJViewport)103 {104 JViewport viewport=(JViewport)parent;105 Point p=viewport.getViewPosition ();106 p.translate (anchorX-x ,anchorY-y);107 p.x=Math.max (p.x,0);108 p.y=Math.max (p.y,0);109 p.x=Math.min (p.x,getWidth ()-viewport.getWidth ());110 p.y=Math.min (p.y , getHeight ()-viewport.getHeight ());111 viewport.setViewPosition (p);112 }113 }114 115 publicvoidmouseMoved (MouseEvent e)116 {117 }118 119 }120
java怎么拖动图片_图片拖动效果
最新推荐文章于 2021-12-10 16:09:08 发布