你想在 void(Graphic g) image, 不妨把 image 成全程变量.
//Getimage.java
import java.applet.Applet;
import java.awt.*;
public class Getimage extends Applet{
Image image;
public void init(){
Image image=getImage(getCodeBase(),"xxx.gif");
try{
MediaTracker mt=new MediaTracker(this);
mt.addImage(image,0);
mt.waitForID(0);
}
catch(InterruptedException e){
e.printStackTrace();
}
}
public void paint(Graphics g){
g.drawImage(image,0,0,this);
}
}
//Getimage.java
import java.applet.Applet;
import java.awt.*;
public class Getimage extends Applet{
Image image;
public void init(){
Image image=getImage(getCodeBase(),"xxx.gif");
try{
MediaTracker mt=new MediaTracker(this);
mt.addImage(image,0);
mt.waitForID(0);
}
catch(InterruptedException e){
e.printStackTrace();
}
}
public void paint(Graphics g){
g.drawImage(image,0,0,this);
}
}
我按你的方法试了一下,发现可以通过编译,没有任何错误。但是执行后,却看不到图片。我想原因出在Image image;和
Image image=getImage(getCodeBase(),"xxx.gif");
上面。这相当于你定义了两个同名的变量,一个是全局的,一个是局部的,虽然互不干扰,也就是能通过编译,但是却不能执行。
打个比方说,
我认为可以看做类似树状结构,
xxx.*只能代表xxx树的下一级。
import xxxxx.*;只是包含一层里的所有类,但不再含类的子类
故import java.*;没有导入java.applete.Applete;
而import java.applete.*;则有。
see page-39,please!
sub of all code.
:->>
ljp3000(中文昵称制订中
soldier1002(廖运河)
哦,是这样呀,那我就以后不偷懒了,谢谢你们的热情解答。