From 3e93445e38b06f1da2b56a558cd6a987dee8972e Mon Sep 17 00:00:00 2001 From: Mikael Capelle Date: Mon, 12 Mar 2018 17:32:44 +0100 Subject: [PATCH] Move resources to class. --- .classpath | 137 +++++++++--------- src/main/org/insa/graphics/PathsPanel.java | 23 ++- .../drawing/components/MapZoomControls.java | 9 +- .../drawing/overlays/MarkerUtils.java | 6 +- 4 files changed, 90 insertions(+), 85 deletions(-) diff --git a/.classpath b/.classpath index b968b3c..39a9721 100644 --- a/.classpath +++ b/.classpath @@ -1,68 +1,69 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/org/insa/graphics/PathsPanel.java b/src/main/org/insa/graphics/PathsPanel.java index d1933a9..317aaea 100644 --- a/src/main/org/insa/graphics/PathsPanel.java +++ b/src/main/org/insa/graphics/PathsPanel.java @@ -15,6 +15,7 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import javax.imageio.ImageIO; import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.BoxLayout; @@ -105,8 +106,10 @@ public class PathsPanel extends JPanel implements DrawingChangeListener, GraphCh * * @param path Path for this bundle, must not be null. * + * @throws IOException If a resource was not found. + * */ - public PathPanel(Path path) { + public PathPanel(Path path) throws IOException { super(); setLayout(new BoxLayout(this, BoxLayout.LINE_AXIS)); setBorder(BorderFactory.createCompoundBorder( @@ -241,8 +244,8 @@ public class PathsPanel extends JPanel implements DrawingChangeListener, GraphCh } }); - Image newimg = new ImageIcon("res/cross_mark.png").getImage().getScaledInstance(14, 14, - java.awt.Image.SCALE_SMOOTH); + Image newimg = ImageIO.read(getClass().getResourceAsStream("/cross_mark.png")) + .getScaledInstance(14, 14, java.awt.Image.SCALE_SMOOTH); JButton deleteButton = new JButton(new ImageIcon(newimg)); deleteButton.setFocusPainted(false); deleteButton.setFocusable(false); @@ -283,7 +286,6 @@ public class PathsPanel extends JPanel implements DrawingChangeListener, GraphCh /* * (non-Javadoc) - * * @see java.lang.Object#toString() */ public String toString() { @@ -307,10 +309,15 @@ public class PathsPanel extends JPanel implements DrawingChangeListener, GraphCh } public void addPath(Path path) { - this.add(new PathPanel(path)); - this.setVisible(true); - this.revalidate(); - this.repaint(); + try { + this.add(new PathPanel(path)); + this.setVisible(true); + this.revalidate(); + this.repaint(); + } + catch (Exception e) { + e.printStackTrace(); + } } protected void removePath(PathPanel panel) { diff --git a/src/main/org/insa/graphics/drawing/components/MapZoomControls.java b/src/main/org/insa/graphics/drawing/components/MapZoomControls.java index 8785eea..05447c4 100644 --- a/src/main/org/insa/graphics/drawing/components/MapZoomControls.java +++ b/src/main/org/insa/graphics/drawing/components/MapZoomControls.java @@ -13,7 +13,6 @@ import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.image.ImageObserver; -import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -65,10 +64,10 @@ public class MapZoomControls { public MapZoomControls(Component component, final int defaultZoom, final int minZoom, final int maxZoom) throws IOException { - zoomIn = ImageIO.read(new File("res/zoomIn.png")).getScaledInstance(DEFAULT_HEIGHT, - DEFAULT_HEIGHT, Image.SCALE_SMOOTH); - zoomOut = ImageIO.read(new File("res/zoomOut.png")).getScaledInstance(DEFAULT_HEIGHT, - DEFAULT_HEIGHT, Image.SCALE_SMOOTH); + zoomIn = ImageIO.read(getClass().getResourceAsStream("/zoomIn.png")) + .getScaledInstance(DEFAULT_HEIGHT, DEFAULT_HEIGHT, Image.SCALE_SMOOTH); + zoomOut = ImageIO.read(getClass().getResourceAsStream("/zoomOut.png")) + .getScaledInstance(DEFAULT_HEIGHT, DEFAULT_HEIGHT, Image.SCALE_SMOOTH); this.currentLevel = defaultZoom; this.minLevel = minZoom; diff --git a/src/main/org/insa/graphics/drawing/overlays/MarkerUtils.java b/src/main/org/insa/graphics/drawing/overlays/MarkerUtils.java index 0908c92..1a9dcd0 100644 --- a/src/main/org/insa/graphics/drawing/overlays/MarkerUtils.java +++ b/src/main/org/insa/graphics/drawing/overlays/MarkerUtils.java @@ -4,12 +4,9 @@ import java.awt.Color; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.DataInputStream; -import java.io.FileInputStream; public class MarkerUtils { - private static final String MARKER_MASK_FILE = "res/marker_mask.bin"; - /** * Create an Image representing a marker of the given color. * @@ -44,7 +41,8 @@ public class MarkerUtils { private static int[][] readMarkerMask() { if (MASK_CACHE == null) { try { - DataInputStream dis = new DataInputStream(new FileInputStream(MARKER_MASK_FILE)); + DataInputStream dis = new DataInputStream( + MarkerUtils.class.getResourceAsStream("/marker_mask.bin")); int nrows = dis.readInt(); int ncols = dis.readInt();