Index: JSVGViewerFrame.java
===================================================================
--- JSVGViewerFrame.java	(revision 678151)
+++ JSVGViewerFrame.java	(working copy)
@@ -29,6 +29,15 @@
 import java.awt.Graphics2D;
 import java.awt.Rectangle;
 import java.awt.Toolkit;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.UnsupportedFlavorException;
+import java.awt.datatransfer.Transferable;
+import java.awt.dnd.DnDConstants;
+import java.awt.dnd.DropTarget;
+import java.awt.dnd.DropTargetDragEvent;
+import java.awt.dnd.DropTargetDropEvent;
+import java.awt.dnd.DropTargetEvent;
+import java.awt.dnd.DropTargetListener;
 import java.awt.event.ActionEvent;
 import java.awt.event.ComponentAdapter;
 import java.awt.event.ComponentEvent;
@@ -831,6 +840,7 @@
                 showSVGDocument(st);
             }
         });
+       DropTarget installDropTarget=new DropTarget(locationBar, DnDConstants.ACTION_COPY, new LoadDropTargetListener());
     }
 
     /**
@@ -3134,4 +3144,56 @@
             return extension;
         }
     }
+    private class LoadDropTargetListener implements DropTargetListener
+    {
+        public LoadDropTargetListener()
+        {
+        }
+
+        public void dragEnter(DropTargetDragEvent dtde) {
+            locationBar.setOpaque(false);
+        }
+
+        public void dragExit(DropTargetEvent dte) {
+            locationBar.setOpaque(true);
+        }
+
+        public void dragOver(DropTargetDragEvent dtde) {
+        }
+
+        public void drop(DropTargetDropEvent dtde) {
+            if(dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor))
+            {
+                dtde.acceptDrop(dtde.getDropAction());
+                try {
+                    Transferable transferable=dtde.getTransferable();
+                    //DataFlavor[] m_dataFlavor = transferable.getTransferDataFlavors();
+                    java.util.List m_dataFlavor = (java.util.List) transferable.getTransferData(DataFlavor.javaFileListFlavor);
+                    for (int index = 0; index < m_dataFlavor.size(); index++) {
+                        File file=(java.io.File)m_dataFlavor.get(index);
+                        String uriString=file.toURI().toString();
+                        locationBar.setText(uriString);
+                        System.out.println("data " +  uriString);
+                        //locationBar.doClick();
+                        locationBar.addToHistory(uriString);
+                        showSVGDocument(uriString);
+                    }
+                    dtde.dropComplete(true);
+                } catch (UnsupportedFlavorException unsupportedFlavorException) {
+                    dtde.rejectDrop();
+                } catch (IOException iOException) {
+                    dtde.rejectDrop();
+                }
+            }
+            else
+            {
+                dtde.rejectDrop();
+            }
+        }
+
+        public void dropActionChanged(DropTargetDragEvent dtde) {
+            //throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+    }
 }
