From: <rh...@us...> - 2014-08-31 00:35:50
|
Revision: 27114 http://sourceforge.net/p/jmri/code/27114 Author: rhwood Date: 2014-08-31 00:35:46 +0000 (Sun, 31 Aug 2014) Log Message: ----------- Whitespace, formatting, and @Override annotations. BTW, the IDE displayed an editor warning "confusing indentation" on this file. Modified Paths: -------------- trunk/jmri/java/src/jmri/util/swing/EditableResizableImagePanel.java Modified: trunk/jmri/java/src/jmri/util/swing/EditableResizableImagePanel.java =================================================================== --- trunk/jmri/java/src/jmri/util/swing/EditableResizableImagePanel.java 2014-08-31 00:20:37 UTC (rev 27113) +++ trunk/jmri/java/src/jmri/util/swing/EditableResizableImagePanel.java 2014-08-31 00:35:46 UTC (rev 27114) @@ -1,7 +1,5 @@ package jmri.util.swing; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; @@ -9,17 +7,18 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; - import javax.swing.JMenuItem; import javax.swing.JPopupMenu; - import jmri.util.iharder.dnd.FileDrop; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class EditableResizableImagePanel extends ResizableImagePanel implements FileDrop.Listener { + private MyMouseAdapter myMouseAdapter = null; - private String dropFolder; - - /** + private String dropFolder; + + /** * Default constructor. * */ @@ -27,19 +26,19 @@ super(); setDnd(true); } - - /** - * Constructor with initial image file path as parameter. - * Component will be (preferred) sized to image sized - * - * @param imagePath Path to image to display + + /** + * Constructor with initial image file path as parameter. Component will be + * (preferred) sized to image sized + * + * @param imagePath Path to image to display */ public EditableResizableImagePanel(String imagePath) { super(imagePath); setDnd(true); } - - /** + + /** * Constructor for DnDImagePanel with forced initial size * * @param imagePath Path to image to display @@ -47,73 +46,93 @@ * @param h Panel height */ public EditableResizableImagePanel(String imagePath, int w, int h) { - super(imagePath,w,h); + super(imagePath, w, h); setDnd(true); } - + /** - * Enable or disable drag'n drop, dropped files will be copied in latest used image path top folder - * when dnd enabled, also enable contextual menu with remove entry - * + * Enable or disable drag'n drop, dropped files will be copied in latest + * used image path top folder when dnd enabled, also enable contextual menu + * with remove entry + * * @param dnd */ - public void setDnd(boolean dnd) - { - if (dnd) { - new FileDrop(this, this); - if (myMouseAdapter == null) - myMouseAdapter = new MyMouseAdapter(this); - addMouseListener(myMouseAdapter); - } - else { - FileDrop.remove(this); - if (myMouseAdapter != null) - removeMouseListener(myMouseAdapter); - } + public void setDnd(boolean dnd) { + if (dnd) { + new FileDrop(this, this); + if (myMouseAdapter == null) { + myMouseAdapter = new MyMouseAdapter(this); + } + addMouseListener(myMouseAdapter); + } else { + FileDrop.remove(this); + if (myMouseAdapter != null) { + removeMouseListener(myMouseAdapter); + } + } } - + // // For contextual menu remove class MyMouseAdapter implements MouseListener { - private JPopupMenu popUpMenu; - private JMenuItem removeMenuItem; - private ResizableImagePanel rip; - public MyMouseAdapter(ResizableImagePanel resizableImagePanel) { - rip = resizableImagePanel; - popUpMenu = new JPopupMenu(); - removeMenuItem = new JMenuItem("Remove"); - removeMenuItem.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - rip.setImagePath(null); - } - } ); - popUpMenu.add(removeMenuItem); - } - void setRemoveMenuItemEnable(boolean b) { - removeMenuItem.setEnabled(b); - } - public void mouseClicked(MouseEvent e) { - maybeShowPopup(e); - } - public void mousePressed(MouseEvent e) { - maybeShowPopup(e); - } - public void mouseReleased(MouseEvent e) { - maybeShowPopup(e); - } - public void mouseEntered(MouseEvent e) {} - public void mouseExited(MouseEvent e) {} - private void maybeShowPopup(MouseEvent e) { - if (e.isPopupTrigger()) { - popUpMenu.show(e.getComponent(),e.getX(), e.getY()); - } - } - } + private JPopupMenu popUpMenu; + private JMenuItem removeMenuItem; + private ResizableImagePanel rip; + + public MyMouseAdapter(ResizableImagePanel resizableImagePanel) { + rip = resizableImagePanel; + popUpMenu = new JPopupMenu(); + removeMenuItem = new JMenuItem("Remove"); + removeMenuItem.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + rip.setImagePath(null); + } + }); + popUpMenu.add(removeMenuItem); + } + + void setRemoveMenuItemEnable(boolean b) { + removeMenuItem.setEnabled(b); + } + + @Override + public void mouseClicked(MouseEvent e) { + maybeShowPopup(e); + } + + @Override + public void mousePressed(MouseEvent e) { + maybeShowPopup(e); + } + + @Override + public void mouseReleased(MouseEvent e) { + maybeShowPopup(e); + } + + @Override + public void mouseEntered(MouseEvent e) { + } + + @Override + public void mouseExited(MouseEvent e) { + } + + private void maybeShowPopup(MouseEvent e) { + if (e.isPopupTrigger()) { + popUpMenu.show(e.getComponent(), e.getX(), e.getY()); + } + } + } + private static void copyFile(File in, File out) throws Exception { if (!out.getParentFile().mkdirs()) // make directorys, check success + { log.error("failed to make directories to copy file"); - FileInputStream fis = new FileInputStream(in); + } + FileInputStream fis = new FileInputStream(in); FileOutputStream fos = new FileOutputStream(out); try { byte[] buf = new byte[1024]; @@ -124,43 +143,44 @@ } catch (Exception e) { throw e; } finally { - fis.close(); - fos.close(); + fis.close(); + fos.close(); } } - + public void setDropFolder(String s) { - dropFolder = s; + dropFolder = s; } - + public String getDropFolder() { - return dropFolder; + return dropFolder; } - + /** * Callback for the dnd listener */ + @Override public void filesDropped(File[] files) { if (files == null) { return; } if (files.length == 0) { - return; + return; } File dest = files[0]; - if (dropFolder!=null) { - dest = new File(dropFolder + File.separatorChar + files[0].getName()); - if (files[0].getParent().compareTo(dest.getParent()) != 0) { - try { - copyFile(files[0], dest); - } catch (Exception ex) { - log.error("filesDropped: error while copying new file, using original file"); - dest = files[0]; - } - } + if (dropFolder != null) { + dest = new File(dropFolder + File.separatorChar + files[0].getName()); + if (files[0].getParent().compareTo(dest.getParent()) != 0) { + try { + copyFile(files[0], dest); + } catch (Exception ex) { + log.error("filesDropped: error while copying new file, using original file"); + dest = files[0]; + } + } } setImagePath(dest.getPath()); } - + static private Logger log = LoggerFactory.getLogger(EditableResizableImagePanel.class.getName()); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |