首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在网站上运行时,Java Applet上的图像不显示;为什么?

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

Stack Overflow用户
提问于 2014-12-16 08:04:18
回答 1查看 573关注 0票数 0

我正在编写一个Java Applet。我正在使用图像在小程序窗口上显示内容。我有一个单独的文件夹,其中包含所有这些图像。此文件夹不在src或bin文件夹中,而是一个单独的文件夹中。这个文件夹被称为“assets”。在此文件夹中,有一个名为“images”的文件夹。在这个资源文件夹中,我有几个子文件夹。在这些子文件夹中,我有我正在使用的图像。我使用下面列出的方法加载这些图像并将它们显示在屏幕上。该小程序在Eclipse中运行良好。当我尝试将小程序放到网站上时,出现了问题。我已经做了相当多的搜索,但在我尝试的事情中,没有一个能解决我的问题。我扫描图像中的某些像素颜色。下面列出了我用于图像的代码。当我查看我的.jar文件时,我的图像似乎在.jar文件中。(我使用未存档和JD-GUI查看.jar文件)请让我知道我应该做什么。

~Rane

将图像绘制到屏幕上的方法:

代码语言:javascript
复制
loadImg.renderImage("images/walls/lawn.png", xCoord, yCoord, imgWidth, imgHeight, graphics);

renderImage方法:

代码语言:javascript
复制
    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方法:

代码语言:javascript
复制
    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:

代码语言:javascript
复制
    <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 Images will not display when run in browser

EN

回答 1

Stack Overflow用户

发布于 2014-12-17 08:09:01

我想通了我的问题。在我的Applet中,我通过扫描图像中的某个像素颜色值来加载游戏地图。在网站上,小应用程序是白色的。在Eclipse中,屏幕显示为我想要的样子。原因是网页上的Java小程序存在安全问题。它会在每次尝试扫描图像时抛出安全异常,因为我使用的是文件。我需要使用URL。我调整了我的代码,现在它在网站上运行良好。

没有你的帮助我不可能做到这些,MadProgrammer。你帮我找到了正确的方向。例如,如果没有您对查看Java控制台的建议,我不可能发现问题所在。谢谢!

~Rane

资料来源:

Java applet game has not granted permission to read images

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27495414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档