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();