import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
public class Apptest extends Applet{
private Image image;
Point pressed=new Point();
Point lastTranslate=new Point();public void init(){
image=getImage(getDocumentBase(),"saint.jpg");
String urlstr=getDocumentBase()+"saint.jpg";
System.out.println(urlstr);
System.out.println("Image width=" +image.getWidth(this));
System.out.println("Height="+image.getHeight(this));
try{
MediaTracker mt=new MediaTracker(this);
mt.addImage(image,0);
mt.waitForID(0);
}
catch(InterruptedException e){
e.printStackTrace();
}
addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent e){
Point Ioc=e.getPoint();
pressed.x=Ioc.x-lastTranslate.x;
pressed.y=Ioc.y-lastTranslate.y;
}
});
addMouseMotionListener(new MouseMotionAdapter(){
public void mouseDragged(MouseEvent e){
Point Ioc=e.getPoint();
Point translate=new Point(Ioc.x-pressed.x,Ioc.y-pressed.y);
Graphics g=getGraphics();
try{
g.clearRect(0,0,getSize().width,getSize().height);
g.translate(translate.x,translate.y);
showStatus("Translating Graphics:"+translate);
g.drawImage(image,0,0,Apptest.this);
}
finally{
g.dispose();
}
lastTranslate=translate;
}
});
}
public void paint(Graphics g){
g.drawImage(image,0,0,this);
}
} 但有个bug 图片拖动时,会出现闪烁现象。不知哪位达人帮忙改一下,大家共同研究。