2013-04-08 2 views
0

Ладно, так что у меня все мои классы внутри несколько пакетов: Game/SRC/package1/Class.classЧитай с ImageIO не-апплета

, и я хочу, чтобы попасть в файл в: Game /res/Terrain.png

Как бы это сделать?

public Screen(Game game){ 
    this.game=game; 
    try { 
     URL url = new URL("/res/Terrain.png"); 
     textures = ImageIO.read(url); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

тогда я получаю эту ошибку:

java.net.MalformedURLException: no protocol: /res/Terrain.png 
    at java.net.URL.<init>(URL.java:583) 
    at java.net.URL.<init>(URL.java:480) 
    at java.net.URL.<init>(URL.java:429) 
    at kore.survival.Screen.<init>(Screen.java:25) 
    at kore.survival.Game.<init>(Game.java:27) 
    at kore.survival.Game.main1(Game.java:99) 
    at kore.survival.LoginFrame.jButton1ActionPerformed(LoginFrame.java:201) 
    at kore.survival.LoginFrame.access$200(LoginFrame.java:16) 
    at kore.survival.LoginFrame$3.actionPerformed(LoginFrame.java:82) 
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018) 
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341) 
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) 
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) 
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) 
    at java.awt.Component.processMouseEvent(Component.java:6505) 
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) 
    at java.awt.Component.processEvent(Component.java:6270) 
    at java.awt.Container.processEvent(Container.java:2229) 
    at java.awt.Component.dispatchEventImpl(Component.java:4861) 
    at java.awt.Container.dispatchEventImpl(Container.java:2287) 
    at java.awt.Component.dispatchEvent(Component.java:4687) 
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) 
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) 
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) 
    at java.awt.Container.dispatchEventImpl(Container.java:2273) 
    at java.awt.Window.dispatchEventImpl(Window.java:2719) 
    at java.awt.Component.dispatchEvent(Component.java:4687) 
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:703) 
    at java.awt.EventQueue.access$000(EventQueue.java:102) 
    at java.awt.EventQueue$3.run(EventQueue.java:662) 
    at java.awt.EventQueue$3.run(EventQueue.java:660) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) 
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) 
    at java.awt.EventQueue$4.run(EventQueue.java:676) 
    at java.awt.EventQueue$4.run(EventQueue.java:674) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) 
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:673) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139) 
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:97) 

ответ

1

Если предположить, что ресурс вложен с Jar ...

textures = ImageIO.read(getClass().getResource("/res/Terrain.png")); 
+0

@MouseEvent Теперь вы просто губит мое удовольствие;) – MadProgrammer