diff --git a/xchart/src/main/java/com/xeiam/xchart/XChartPanel.java b/xchart/src/main/java/com/xeiam/xchart/XChartPanel.java
index 9c95e036ec6aeebcd48692f3c020a163a87babe7..32601ab995b6bcd9a0e79002baa7d4c6416ebd6a 100644
--- a/xchart/src/main/java/com/xeiam/xchart/XChartPanel.java
+++ b/xchart/src/main/java/com/xeiam/xchart/XChartPanel.java
@@ -151,7 +151,13 @@ public class XChartPanel extends JPanel {
     @Override
     public boolean accept(File f) {
 
-      return true;
+      if (f.isDirectory()) {
+        return true;
+      }
+
+      String s = f.getName();
+
+      return s.endsWith(".jpg") || s.endsWith(".JPG");
     }
 
     @Override
@@ -167,7 +173,13 @@ public class XChartPanel extends JPanel {
     @Override
     public boolean accept(File f) {
 
-      return true;
+      if (f.isDirectory()) {
+        return true;
+      }
+
+      String s = f.getName();
+
+      return s.endsWith(".bmp") || s.endsWith(".BMP");
     }
 
     @Override
@@ -183,7 +195,13 @@ public class XChartPanel extends JPanel {
     @Override
     public boolean accept(File f) {
 
-      return true;
+      if (f.isDirectory()) {
+        return true;
+      }
+
+      String s = f.getName();
+
+      return s.endsWith(".gif") || s.endsWith(".GIF");
     }
 
     @Override
@@ -199,7 +217,13 @@ public class XChartPanel extends JPanel {
     @Override
     public boolean accept(File f) {
 
-      return true;
+      if (f.isDirectory()) {
+        return true;
+      }
+
+      String s = f.getName();
+
+      return s.endsWith(".png") || s.endsWith(".PNG");
     }
 
     @Override