Ignore:
Timestamp:
2011-08-29T09:46:27+02:00 (13 years ago)
Author:
simon04
Message:

fix #4609 - copy node coordinate to clipboard

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/tools/Utils.java

    r4272 r4380  
    33
    44import java.awt.Color;
     5import java.awt.Toolkit;
     6import java.awt.datatransfer.Clipboard;
     7import java.awt.datatransfer.ClipboardOwner;
     8import java.awt.datatransfer.DataFlavor;
     9import java.awt.datatransfer.StringSelection;
     10import java.awt.datatransfer.Transferable;
     11import java.awt.datatransfer.UnsupportedFlavorException;
    512import java.io.File;
    613import java.io.IOException;
     
    264271        return Math.abs(a - b) <= EPSILION;
    265272    }
     273
     274    /**
     275     * Copies the string {@code s} to system clipboard.
     276     * @param s string to be copied to clipboard.
     277     * @return true if succeeded, false otherwise.
     278     */
     279    public static boolean copyToClipboard(String s) {
     280        try {
     281            Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(s), new ClipboardOwner() {
     282
     283                @Override
     284                public void lostOwnership(Clipboard clpbrd, Transferable t) {
     285                }
     286            });
     287            return true;
     288        } catch (IllegalStateException ex) {
     289            ex.printStackTrace();
     290            return false;
     291        }
     292    }
     293
     294    /**
     295     * Extracts clipboard content as string.
     296     * @return string clipboard contents if available, {@code null} otherwise.
     297     */
     298    public static String getClipboardContent() {
     299        Transferable t = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
     300        try {
     301            if (t != null && t.isDataFlavorSupported(DataFlavor.stringFlavor)) {
     302                String text = (String) t.getTransferData(DataFlavor.stringFlavor);
     303                return text;
     304            }
     305        } catch (UnsupportedFlavorException ex) {
     306            ex.printStackTrace();
     307            return null;
     308        } catch (IOException ex) {
     309            ex.printStackTrace();
     310            return null;
     311        }
     312        return null;
     313    }
    266314}
Note: See TracChangeset for help on using the changeset viewer.