From a15d136fc96b4811bbdfc767512c6a0823314fbf Mon Sep 17 00:00:00 2001 From: toksikk Date: Tue, 25 Nov 2014 14:59:56 +0100 Subject: [PATCH] Umstellug auf ClassLoader Kann jetzt als .jar exportiert werden und ist laeuffaehig --- HeatUp/src/de/heatup/objects/ImageLoader.java | 25 ++++++++++--------- .../src/de/heatup/objects/StaticObject.java | 3 ++- HeatUp/src/de/heatup/objects/logic.java | 10 +++++--- HeatUp/src/de/heatup/testing/Opponent.java | 2 +- .../src/de/heatup/testing/PanelBuilder.java | 8 ++++++ HeatUp/src/de/heatup/testing/Player.java | 2 +- 6 files changed, 31 insertions(+), 19 deletions(-) diff --git a/HeatUp/src/de/heatup/objects/ImageLoader.java b/HeatUp/src/de/heatup/objects/ImageLoader.java index cb968f4..36d62b6 100644 --- a/HeatUp/src/de/heatup/objects/ImageLoader.java +++ b/HeatUp/src/de/heatup/objects/ImageLoader.java @@ -20,39 +20,39 @@ public class ImageLoader { * -: Wall * 0 - 9: Hardware */ - public static BufferedImage getBufferedImage(char key) { + public BufferedImage getBufferedImage(char key) { String imageFileName; switch (key) { case Config.wayChar: - imageFileName="src/de/heatup/resources/images/25x25_black.png"; + imageFileName="de/heatup/resources/images/25x25_black.png"; break; case Config.wallChar: - imageFileName="src/de/heatup/resources/images/25x25_wall_orange_2.png"; + imageFileName="de/heatup/resources/images/25x25_wall_orange_2.png"; break; case 'u': - imageFileName="src/de/heatup/resources/images/little_green_guy_verysmall.png"; + imageFileName="de/heatup/resources/images/little_green_guy_verysmall.png"; break; case 'd': - imageFileName="src/de/heatup/resources/images/little_green_guy_verysmall.png"; + imageFileName="de/heatup/resources/images/little_green_guy_verysmall.png"; break; case 'l': - imageFileName="src/de/heatup/resources/images/little_green_guy_verysmall.png"; + imageFileName="de/heatup/resources/images/little_green_guy_verysmall.png"; break; case 'r': - imageFileName="src/de/heatup/resources/images/little_green_guy_verysmall.png"; + imageFileName="de/heatup/resources/images/little_green_guy_verysmall.png"; break; default: - imageFileName="src/de/heatup/resources/images/dummy_image.png"; + imageFileName="de/heatup/resources/images/dummy_image.png"; break; } if (isHardware(key)) { Random rand = new Random(); switch (rand.nextInt(2)) { case 0: - imageFileName="src/de/heatup/resources/images/hardware/rectangular_chip.jpg"; + imageFileName="de/heatup/resources/images/hardware/rectangular_chip.jpg"; break; case 1: - imageFileName="src/de/heatup/resources/images/hardware/square_chip.jpg"; + imageFileName="de/heatup/resources/images/hardware/square_chip.jpg"; break; default: break; @@ -60,8 +60,9 @@ public class ImageLoader { } BufferedImage loadedBufferedImage = null; //System.out.println(imageFileName); + try { - loadedBufferedImage = ImageIO.read(new File(imageFileName)); + loadedBufferedImage = ImageIO.read(this.getClass().getClassLoader().getResourceAsStream(imageFileName)); } catch (Exception e) { // TODO: handle exception } @@ -73,7 +74,7 @@ public class ImageLoader { return loadedBufferedImage; } - private static boolean isHardware(char c) { + private boolean isHardware(char c) { for (int i = Config.firstHardwareChar; i < Config.lastHardwareChar; i++) { if (c == i) { return true; diff --git a/HeatUp/src/de/heatup/objects/StaticObject.java b/HeatUp/src/de/heatup/objects/StaticObject.java index 496f76c..d59602a 100644 --- a/HeatUp/src/de/heatup/objects/StaticObject.java +++ b/HeatUp/src/de/heatup/objects/StaticObject.java @@ -11,6 +11,7 @@ import javax.imageio.ImageIO; import javax.swing.JComponent; import de.heatup.cfg.Config; +import de.heatup.testing.PanelBuilder; /* * Draft for static objects @@ -67,7 +68,7 @@ public class StaticObject extends JComponent { } private void loadBufferedImage() { - this.bf1 = ImageLoader.getBufferedImage(this.staticObjectType); + this.bf1 = PanelBuilder.getImageLoader().getBufferedImage(this.staticObjectType); } public void setImage(BufferedImage image) { diff --git a/HeatUp/src/de/heatup/objects/logic.java b/HeatUp/src/de/heatup/objects/logic.java index a9e2a04..94e61b0 100644 --- a/HeatUp/src/de/heatup/objects/logic.java +++ b/HeatUp/src/de/heatup/objects/logic.java @@ -3,6 +3,8 @@ package de.heatup.objects; import java.io.IOException; import java.util.Random; +import de.heatup.testing.PanelBuilder; + /* * Static class for opponent movement still quick n' dirty @@ -59,22 +61,22 @@ public class logic { movex -= 4; mx=-4; my=0; - dynObj.setImage(ImageLoader.getBufferedImage('l')); + dynObj.setImage(PanelBuilder.getImageLoader().getBufferedImage('l')); } else if ( move == 2 && movex >= 0) { movex -= 4; mx=4; my=0; - dynObj.setImage(ImageLoader.getBufferedImage('r')); + dynObj.setImage(PanelBuilder.getImageLoader().getBufferedImage('r')); } else if (move == -1 && movey >= 0) { movey -= 4; my=-4; mx=0; - dynObj.setImage(ImageLoader.getBufferedImage('u')); + dynObj.setImage(PanelBuilder.getImageLoader().getBufferedImage('u')); } else if (move == 1 && movey >= 0) { movey -= 4; my=4; mx=0; - dynObj.setImage(ImageLoader.getBufferedImage('d')); + dynObj.setImage(PanelBuilder.getImageLoader().getBufferedImage('d')); } else { move = 0; mx=0; diff --git a/HeatUp/src/de/heatup/testing/Opponent.java b/HeatUp/src/de/heatup/testing/Opponent.java index 7287549..5c6296a 100644 --- a/HeatUp/src/de/heatup/testing/Opponent.java +++ b/HeatUp/src/de/heatup/testing/Opponent.java @@ -39,7 +39,7 @@ public class Opponent extends Player { @Override protected void loadBufferedImage() { try { - super.bf1 = ImageIO.read(new File("src/de/heatup/resources/images/little_green_guy_verysmall.png")); + super.bf1 = ImageIO.read(this.getClass().getClassLoader().getResourceAsStream("de/heatup/resources/images/little_green_guy_verysmall.png")); } catch (IOException e) { e.printStackTrace(); } diff --git a/HeatUp/src/de/heatup/testing/PanelBuilder.java b/HeatUp/src/de/heatup/testing/PanelBuilder.java index 88c3cb9..3db42d4 100644 --- a/HeatUp/src/de/heatup/testing/PanelBuilder.java +++ b/HeatUp/src/de/heatup/testing/PanelBuilder.java @@ -6,6 +6,7 @@ import javax.swing.JPanel; import de.heatup.mapengine.MapEngine; import de.heatup.mapengine.SpawnAssistant; +import de.heatup.objects.ImageLoader; import de.heatup.ui.KeyBindings; import de.heatup.ui.StatusPanelAdder; import de.heatup.ui.actionPanel.ActionControl; @@ -21,6 +22,7 @@ public class PanelBuilder { public static Player player01; private static InstancedObjects instancedObjects; + private static ImageLoader imageLoader; public static InstancedObjects getInstancedObjects() { return instancedObjects; @@ -53,6 +55,8 @@ public class PanelBuilder { instancedObjects = new InstancedObjects(); + imageLoader = new ImageLoader(); + player01 = new Player(); // !!! PLAYER IMMER ZUERST INSTANZIIEREN, DANACH OPPONENTS !!! gamePanel.add(player01); player01.setBounds(25,25,25, 25); // !!! MUSS DRIN BLEIBEN TROTZ NACHTRÄGLICHES SPAWN UMSETZEN !!! @@ -89,4 +93,8 @@ public class PanelBuilder { } + + public static ImageLoader getImageLoader() { + return imageLoader; + } } diff --git a/HeatUp/src/de/heatup/testing/Player.java b/HeatUp/src/de/heatup/testing/Player.java index 4c33fb1..35a583b 100644 --- a/HeatUp/src/de/heatup/testing/Player.java +++ b/HeatUp/src/de/heatup/testing/Player.java @@ -78,7 +78,7 @@ public class Player extends JComponent { protected void loadBufferedImage() { try { - this.bf1 = ImageIO.read(new File("src/de/heatup/resources/images/little_blue_guy_verysmall.png")); + this.bf1 = ImageIO.read(this.getClass().getClassLoader().getResourceAsStream("de/heatup/resources/images/little_blue_guy_verysmall.png")); } catch (IOException e) { e.printStackTrace(); }