1

환영합니다. 브라우저에서 애플릿을 시작하는 데 문제가있었습니다. 몇 번 시도해 본 후에 Finnaly가 실행했는데 음악을 들었지만 화면이 여전히 흰색이므로 콘솔을 실행하고 사운드 트랙이 배경에서 재생 되었기 때문에Java 애플릿 게임에서 이미지를 읽을 수있는 권한을 부여하지 않았습니다.

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) 

그것은 나에게 이상한했지만 애플릿 로딩 이미지에 문제가 있었다 : 그 오류를 보았다. 그 애플릿을 서버에 넣었습니다 : http://skibba.strefa.pl/applet/applet.html 확인하고 싶다면. 내 컴퓨터의 하드 드라이브에서 브라우저로 애플릿을 시작하려고 할 때와 같은 오류가 발생합니다.

나는 허가가 없기 때문에 음악이 재생되는 이유는 무엇입니까?

애플릿은 Eclipse의 애플릿 : 뷰어에서 실행됩니다. 오류는 발생하지 않으며 브라우저에서만 문제가됩니다.

답변

3

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

같은 디렉토리에있는, 이미지에 의해로드되는 동안 음악 클립 (모래 - 박스 애플릿 OK) '홈'위치에서 URL에 의해로드되는 제안 File (신뢰할 수있는 애플릿에서만 가능하며 애플릿을 위해 제공하는 리소스에는 적합하지 않습니다.)

구성하여 URL로 이미지를로드하면 제대로 작동합니다.

1

응용 프로그램이 png가 저장된 폴더에서 읽을 수있는 권한이 없다는 오류에 대한 설명입니다. 애플릿은 기본적으로 로컬 디렉토리 액세스를 거부합니다. 애플릿에 서명하거나 정책을 편집해야합니다.

http://www.coderanch.com/how-to/java/HowCanAnAppletReadFilesOnTheLocalFileSystem

는 내가 그것을 도움이되기를 바랍니다. 이미지 및 클립을 가정하면