applet显示图片问题,急!!

tjb1216 2009-10-21 01:42:54
先上代码:
import java.awt.*;
import java.applet.*;

public class Example13 extends Applet{
Toolkit tool;
Image image;
public void init(){
tool=getToolkit();
image=tool.getImage("0.gif");
}
public void paint(Graphics g){
g.drawImage(image, 22,72,100,100,this);
g.drawString("woao",5, 5);
}
}


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<applet codebase="D:\eclipse\workspace\myapplet\WebContent" code=Example13.class height=180 width=300>
</applet>
</body>
</html>

保证路径没错,图片也在同一路径,网页,dos下用appletviewer都能运行,显示wocao,
但就是不显示图片,试过了,正常java程序(就上面的applet里面加个主函数)能显示图片。就applet不能
请高人指教,还有,用Eclipse写applet是不是要新建web项目,是动态还是静态的,图片放哪??
急,答好了马上给分
...全文
217 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
tjb1216 2009-10-23
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 swandragon 的回复:]
我在我的机器上运行没问题

你的图片放错位置了吧

把0.gif放在类路径下
[/Quote]
敢问类路径是什么路径,我放的是System.out.print(getCodeBase())打印出来的路径,与source同一目录
tjb1216 2009-10-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 rumlee 的回复:]
建议把图片打包到jar文件里面去,然后用Example13.class.getResource
这样肯定不会有问题。
[/Quote]
applet打包之后没主类不能运行啊,再弱弱的问一句Example13.class.getResource怎么用,在哪用,能具体点吗
chen_hello88 2009-10-22
  • 打赏
  • 举报
回复
学习啦!
ericax 2009-10-22
  • 打赏
  • 举报
回复
在Eclipse中运行程序的时候用的是Eclipse工程的classpath。建议你把系统的classpath设置一下:
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
最前面的.;表示当前文件夹,应该就能找到了。
铁匠梁老师 2009-10-21
  • 打赏
  • 举报
回复
楼主请看控制台时候有异常信息,applet一般是不能访问本地资源的,要能访问需要修改jdk默认的权限设置。jar包的话需要签名

java.security.AccessControlException: access denied (java.io.FilePermission logo_top.gif read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
at sun.awt.SunToolkit.getImage(Unknown Source)
at Example13.init(Example13.java:9)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
异常:java.security.AccessControlException: access denied (java.io.FilePermission logo_top.gif read)

swandragon 2009-10-21
  • 打赏
  • 举报
回复
我在我的机器上运行没问题

你的图片放错位置了吧

把0.gif放在类路径下
rookie001 2009-10-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 tjb1216 的回复:]
弱弱的问一句,怎么打包啊
[/Quote]
File -> export ->java->JAR-file 其他按提示

奇怪的是,lz的程序在我机子上图片可以显示啊(run as Java Applet)
ZangXT 2009-10-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 rumlee 的回复:]
建议把图片打包到jar文件里面去,然后用Example13.class.getResource
这样肯定不会有问题。
[/Quote]
支持,我就这么做。
zl3450341 2009-10-21
  • 打赏
  • 举报
回复
mark
楼主还没解决啊

又发了个贴
goodmrning 2009-10-21
  • 打赏
  • 举报
回复
mark!
justinavril 2009-10-21
  • 打赏
  • 举报
回复
用我下面的这个方法获取图像吧 路径就用绝对路径就好了

import java.awt.*;
import java.applet.*;
import javax.swing.*;

public class Example13 extends Applet{
Image picture; //定义类型为Image的成员变量

public void init(){
picture = new ImageIcon("C:\\1.gif").getImage(); //装载图像
}

public void paint(Graphics g){
g.drawImage(picture,0,0,this); //显示图像
}
}
tjb1216 2009-10-21
  • 打赏
  • 举报
回复
弱弱的问一句,怎么打包啊
rumlee 2009-10-21
  • 打赏
  • 举报
回复
建议把图片打包到jar文件里面去,然后用Example13.class.getResource
这样肯定不会有问题。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧