<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->
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 //参数所指图片文件的路径
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
分享到:
相关推荐
js制作的图片拖动效果,比较简单,可以实现在div容器中,随意拖动指定单张图片的效果,效果比较简单,可以放心下载
JavaScript图片拖动效果,纯粹的JS图片拖动效果!!
jquery实现九宫格图片拖动效果,动画图片拖拽排序效果
android很好用的图片拖拽效果·详细源码·下载解压可直接导入项目
js图片拖拽效果制作列表图片拖拽排序代码
Android图片拖拽效果代码
js实现简单图片拖拽效果 本文实例为大家分享了js实现简单图片拖拽效果的具体代码,供大家参考,具体内容如下 //图片需要自己导入 <!doctype html> <html> <head> <meta charset="UTF-8"> 在当前显示区...
android图片拖动效果
Android安卓代码模拟Iphone图片拖动效果,似乎这个效果Android原生系统中就有啊,就是用手指滑来滑去拖动图片的效果,在Android中,我是自己写代码实现的,也算是对苹果IOS中的图片拖动进行了一个模拟。 注:部分...
DraggableView GridView项目拖拽效果, 自顶一个SampleGridContainer 集成FrameLayout实现 DragController.IDragViewGroup ,里面主要提供了onDragStart ,onDragEnd,onMoveEvent 等几个方法实现拖拽效果
这是编译通过的android源码,主要功能是提供在android平台上解决图片拖拽效果的问题,我做的项目中用到了里面的方法,觉得值得分享,就上传到资源中,需要的童鞋可以下载学习一下。
简单的图片任意拖拽效果,任意拖拽到任意位置,代码简单 易懂
曾经被 Iphone 用手指在屏幕上滑来滑去拖动图片的操作方式吸引吗?在 Android 里头,这并不是什么难事。
各种js地图拖动和缩放效果以及图片拖动效果显示 共享给大家 共同进步
android 中Gallery控件相当于一个图片浏览器,将图片资源加载进去便可以显示其效果
可以让你的图片在页面上随便拖到 <!--.drag{position:relative;cursor:hand} --> var dragapproved=false var z,x,y function move(){ if (event.button==1&&dragapproved){ z.style.pixelLeft=temp1+event....
这是应用jquery写的一个网页特效(重要的代码都有详细注释,含有jquery-1.8.2.min.js库):图片在浏览器中可以随意的拖拽,放在浏览器的任意位置。
jquery图片拖拽实例(支持鼠标双击事件拖拽图片)效果代码
PT中要实现图片或图形的任意拖拽需要通过VBA编程。现介绍利用图像控件实现图片任意拖拽的方法
博客中发现有作者写的仿360的代码,觉得其中图片滑动的效果很有意思,特提取其中的代码。并加上类似mac的画面移动的动画效果。