[英]Images on Java Applet not being displayed when run on a website; why?
我正在编写Java Applet。 我正在使用图像在Applet窗口上显示内容。 我有一个单独的文件夹,其中包含所有这些图像。 该文件夹不在src或bin文件夹中,而是一个单独的文件夹。 此文件夹称为“资产”。 在此文件夹中,有一个名为“ images”的文件夹。 在此资产文件夹中,我有几个子文件夹。 在这些子文件夹中,我有正在使用的图像。 我使用下面列出的方法加载这些图像并将其显示在屏幕上。 Applet在Eclipse中运行良好。 当我尝试将Applet放到网站上时,会出现问题。 我已经做了很多搜索,但是在我尝试过的所有事情中,没有一个解决了我的问题。 我扫描图像中的某些像素颜色。 下面列出了我用于图像的代码。 当我查看.jar文件时,我的图像似乎在.jar文件中。 (我使用Unarchived和JD-GUI查看.jar文件)请让我知道我该怎么做。
〜雷恩
在屏幕上绘制图像的方法:
loadImg.renderImage("images/walls/lawn.png", xCoord, yCoord, imgWidth, imgHeight, graphics);
renderImage方法:
public void renderImage(String path, int x, int y, int width, int height,
Graphics g) {
g.setColor(Color.BLACK);
g.fillRect(x, y, width, height);
g.drawImage(getImage(path), x, y, width, height, applet);
}
getImage方法:
public Image getImage(String path) {
Image img;
URL url = null;
try {
url = applet.getDocumentBase();
} catch (Exception e) {
// TODO: handle exception
}
img = applet.getImage(url, path);
return img;
}
我的HTML:
<object type="application/x-java-applet" archive="Applet.jar" code="AppletGame.class" width="600" height="600"></object>
许多回答中有两个对我没用:
我发现了我的问题。 在我的Applet中,我通过扫描图像中某个像素颜色值来加载游戏地图。 在网站上,Applet是白色的。 在Eclipse中,屏幕出现了我想要的样子。 其原因是由于网页上的Java Applets的安全性问题。 由于我使用的是文件,因此每次尝试扫描图像时都会引发安全异常。 我需要使用一个URL。 我调整了代码,现在在网站上运行良好。
MadProgrammer,如果没有您的帮助,我无法做到这一点。 您帮助我指引了正确的方向。 例如,如果没有您的建议来查看Java控制台,我就找不到问题。 谢谢!
〜雷恩
资料来源:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.