繁体   English   中英

在网站上运行时,Java Applet上的图像未显示; 为什么?

[英]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>

许多回答中有两个对我没用:

http://www.java-gaming.org/index.php?topic=27203.0

在浏览器中运行时,Java Applet图像不会显示

我发现了我的问题。 在我的Applet中,我通过扫描图像中某个像素颜色值来加载游戏地图。 在网站上,Applet是白色的。 在Eclipse中,屏幕出现了我想要的样子。 其原因是由于网页上的Java Applets的安全性问题。 由于我使用的是文件,因此每次尝试扫描图像时都会引发安全异常。 我需要使用一个URL。 我调整了代码,现在在网站上运行良好。

MadProgrammer,如果没有您的帮助,我无法做到这一点。 您帮助我指引了正确的方向。 例如,如果没有您的建议来查看Java控制台,我就找不到问题。 谢谢!

〜雷恩

资料来源:

Java applet游戏未授予读取图像的权限

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM