Java小程序的游戏没有授予权限读取图像 [英] Java applet game has not granted permission to read images

查看:1219
本文介绍了Java小程序的游戏没有授予权限读取图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

欢迎,我有问题,我的启动浏览器的小程序,很少改掉后,我曾finnaly运行,我听到音乐,但屏幕仍然是白色的,所以我运行控制台,我看到这个错误:

 异常螺纹AWT-EventQueue的-2java.security.AccessControlException:访问被拒绝(java.io.FilePermission中的grass.png读)
    在java.security.AccessControlContext.checkPermission(来源不明)
    在java.security.AccessController.checkPermission(来源不明)
    在java.lang.SecurityManager.checkPermission(来源不明)
    在sun.plugin2.applet.AWTAppletSecurityManager.checkPermission(来源不明)
    在java.lang.SecurityManager.checkRead(来源不明)
    在sun.awt.SunToolkit.getImageFromHash(来源不明)
    在sun.awt.SunToolkit.getImage(来源不明)
    在javax.swing.ImageIcon中的<&初始化GT;(未知来源)
    在javax.swing.ImageIcon中的<&初始化GT;(未知来源)
    在rpg.imgs.loadAndDraw(imgs.java:18)
    在rpg.main.paint(main.java:343)
    在rpg.main.update(main.java:334)
    在sun.awt.RepaintArea.updateComponent(来源不明)
    在sun.awt.RepaintArea.paint(来源不明)
    在sun.awt.windows.WComponentPeer.handleEvent(来源不明)
    在java.awt.Component.dispatchEventImpl(来源不明)
    在java.awt.Container.dispatchEventImpl(来源不明)
    在java.awt.Component.dispatchEvent(来源不明)
    在java.awt.EventQueue.dispatchEventImpl(来源不明)
    在java.awt.EventQueue.access $ 200(来源不明)
    在java.awt.EventQueue中的$ 3.run(来源不明)
    在java.awt.EventQueue中的$ 3.run(来源不明)
    在java.security.AccessController.doPrivileged(本机方法)
    在java.security.ProtectionDomain $ 1.doIntersectionPrivilege(​​来源不明)
    在java.security.ProtectionDomain $ 1.doIntersectionPrivilege(​​来源不明)
    在java.awt.EventQueue中的$ 4.run(来源不明)
    在java.awt.EventQueue中的$ 4.run(来源不明)
    在java.security.AccessController.doPrivileged(本机方法)
    在java.security.ProtectionDomain $ 1.doIntersectionPrivilege(​​来源不明)
    在java.awt.EventQueue.dispatchEvent(来源不明)
    在java.awt.EventDispatchThread.pumpOneEventForFilters(来源不明)
    在java.awt.EventDispatchThread.pumpEventsForFilter(来源不明)
    在java.awt.EventDispatchThread.pumpEventsForHierarchy(来源不明)
    在java.awt.EventDispatchThread.pumpEvents(来源不明)
    在java.awt.EventDispatchThread.pumpEvents(来源不明)
    在java.awt.EventDispatchThread.run(来源不明)

很奇怪,我因为音轨在后台打不过小程序曾与加载图像的问题。我已经把那个小程序在服务器上: http://skibba.strefa.pl/applet/applet.html
如果你想检查。我收到同样的错误当我试图从硬盘启动小程序在浏览器中我的电脑上。

如果我没有权限,那么为什么正在播放的音乐?

小程序在Eclipse的小程序运行:浏览器以及 - 没有错误,只是在浏览器中的问题。


解决方案

  

很奇怪,我因为音轨在后台打不过小程序曾与加载图像的问题。


presuming的形象和剪辑都在同一目录下,它表明了音乐片段是由 URL加载从家的位置(OK了沙箱,而图像是由加载小程序)文件(仅在一个可信任的小程序,不适合我们为这个小程序提供资源)。

通过组织URL加载图像,它应该工作。

Welcome, I had problem with launching my applet in browser, after few trys I finnaly had run that, i heard music, but the screen was still white, so i run console and i saw that error:

Exception in thread "AWT-EventQueue-2" java.security.AccessControlException: access denied ("java.io.FilePermission" "grass.png" "read")
    at java.security.AccessControlContext.checkPermission(Unknown Source)
    at java.security.AccessController.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPermission(Unknown Source)
    at sun.plugin2.applet.AWTAppletSecurityManager.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 javax.swing.ImageIcon.<init>(Unknown Source)
    at javax.swing.ImageIcon.<init>(Unknown Source)
    at rpg.imgs.loadAndDraw(imgs.java:18)
    at rpg.main.paint(main.java:343)
    at rpg.main.update(main.java:334)
    at sun.awt.RepaintArea.updateComponent(Unknown Source)
    at sun.awt.RepaintArea.paint(Unknown Source)
    at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$200(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

It was strange to me because the sound track was playing in background but applet had a problem with loading images. I have put that applet on server: http://skibba.strefa.pl/applet/applet.html If you want to check. I am getting same error as while i was trying to launch the applet in browser from hard drive on my PC.

And if i have no permission, so why the music is playing?

The applet runs in eclipse's Applet:Viewer well - no errors, only in browser is the problem.

解决方案

It was strange to me because the sound track was playing in background but applet had a problem with loading images.

Presuming the image and clip are in the same directory, it suggests the music clip is being loaded by URL from the 'home' location (OK for a sand-boxed applet) while the image is being loaded by File (only possible in a trusted applet, and not suitable for resources we supply for an applet).

Organize to load the image by URL, and it should work.

这篇关于Java小程序的游戏没有授予权限读取图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆