0
点赞
收藏
分享

微信扫一扫

Eclipse运行Applet没有显示图片,getCodeBase,getDocumentBase


解决Eclipse运行Applet没有显示图片

     创建一个简单的Java Applet项目用于显示图片

import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Image;
public class AppletTest extends Applet {
Image ImgObj;
public void init(){
ImgObj=getImage(getCodeBase(), "test.jpg");//或者getDocumentBase()时
}
public void paint(Graphics g)
{
g.drawImage(ImgObj,0,0,this);
}
}

    简单测试一下:

import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Image;
public class AppletTest extends Applet {
Image ImgObj;
public void init(){
System.out.println(getDocumentBase().toString());//输出getDocumentBase的路径
System.out.println(getCodeBase().toString());//输出getCodeBase的路径
ImgObj=getImage(getCodeBase(), "test.jpg");
}
public void paint(Graphics g)
{
g.drawImage(ImgObj,0,0,this);
}
}

   运行结果为:

file:/D:/MyEclipse/Workspaces/AppletTest/bin/AppletTest1456975449625.html
file:/D:/MyEclipse/Workspaces/AppletTest/bin/

    

Applet类中getDocumentBase()和getCodeBase()的区别     

 

   Applet类中提供了这2种方法帮我门获取URL对象,其中getDocumentBase()方法返回URL对象,代表了包含Applet的HTML文件所在目录,而getCodeBase()方法返回的URL对象代表了applet文件即.class文件所在目录。它根据HTML文件的"Applet"标记中的CODEBASE属性值计算出来,若该属性没有设置则返回该HTML文件所在目录

    因此,如果你要使用getDocumentBase或者getCodeBase获得项目路径,请把你的图片放在bin文件下,否则无法读取的到图片的!!!


    当然,你也可以使用绝对路径来读取图片,不过格式要注意:file:/XXXXX的形式,注意斜杠和反斜杠哦~!

import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Image;
public class AppletTest extends Applet {
Image ImgObj;
public void init(){
ImgObj=getImage(null, "file:/D:/MyEclipse/Workspaces/AppletTest/bin/test.jpg");//绝对路径
}
public void paint(Graphics g)
{
g.drawImage(ImgObj,0,0,this);
}
}

  显示的图片为:

Eclipse运行Applet没有显示图片,getCodeBase,getDocumentBase_getDocumentBase



举报

相关推荐

0 条评论