1 
            2 import java.awt.*;
            3 import javax.swing.*;
            4 import java.awt.event.*;
            5 import javax.swing.event.*;
            6 
            7 public class Main
            8 {
            9     public static void main (String args[])
           10     {
           11         JFrame f = new JFrame ();
           12         f.setLayout (null);
           13         NEWImagepanel pan = new NEWImagepanel ("/1.jpg");
           14         pan.setPreferredSize (new Dimension (800,800));
           15         JScrollPane jspan = new JScrollPane (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 class NEWImagepanel extends JPanel implements MouseListener ,MouseInputListener
           26 {
           27     private Image  bgimg;
           28     int anchorX = 0;
           29     int anchorY = 0;
           30     
           31     public NEWImagepanel ()
           32     {
           33         super ();
           34     }
           35     //參數(shù)所指圖片文件的路徑
           36     public NEWImagepanel (String path)
           37     {
           38         
           39         super ();
           40         
           41         MediaTracker tracker = new MediaTracker (this);
           42         bgimg = new ImageIcon (getClass ().getResource (path)).getImage ();
           43         tracker.addImage (bgimg,0);
           44         try
           45         {
           46             tracker.waitForAll ();
           47         }
           48         catch(Exception e)
           49         {
           50             e.printStackTrace ();
           51         }
           52         addMouseMotionListener (this);
           53         addMouseListener (this);
           54         
           55     }
           56     public void paintComponent (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     public void mouseClicked (MouseEvent e)
           67     {
           68     }
           69     
           70     public void mousePressed (MouseEvent e)
           71     {
           72         anchorX = e.getX ();
           73         anchorY = e.getY ();
           74         try
           75         {
           76             setCursor (Cursor.getPredefinedCursor (Cursor.MOVE_CURSOR));
           77         }
           78         catch(Exception ex)
           79         {
           80             System.out.println (ex.toString ());
           81         }
           82     }
           83     
           84     public void mouseReleased (MouseEvent e)
           85     {
           86         setCursor (Cursor.getDefaultCursor ());
           87     }
           88     
           89     public void mouseEntered (MouseEvent e)
           90     {
           91     }
           92     
           93     public void mouseExited (MouseEvent e)
           94     {
           95     }
           96     
           97     public void mouseDragged (MouseEvent e)
           98     {
           99         int x = e.getX ();
          100         int y = e.getY ();
          101         Container parent = getParent ();
          102         if(parent instanceof JViewport)
          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     public void mouseMoved (MouseEvent e)
          116     {
          117     }
          118     
          119 }
          120 

          posted on 2007-02-08 13:09 -274°C 閱讀(612) 評(píng)論(0)  編輯  收藏 所屬分類: JAVA

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊(cè)

          JAVA網(wǎng)站

          關(guān)注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 914107
          • 排名 - 40

          最新評(píng)論

          主站蜘蛛池模板: 措勤县| 德州市| 巴中市| 海丰县| 九龙县| 克东县| 清新县| 长丰县| 宜城市| 江口县| 尼木县| 恭城| 策勒县| 无棣县| 监利县| 临沧市| 堆龙德庆县| 古丈县| 东至县| 甘南县| 平泉县| 石城县| 祁门县| 二连浩特市| 瓦房店市| 呼图壁县| 千阳县| 延寿县| 军事| 新兴县| 金华市| 眉山市| 南汇区| 内江市| 张家口市| 荆州市| 元阳县| 特克斯县| 鞍山市| 陆河县| 合江县|