Changeset 4380 in josm for trunk/src/org/openstreetmap/josm/tools
- Timestamp:
- 2011-08-29T09:46:27+02:00 (13 years ago)
- Location:
- trunk/src/org/openstreetmap/josm/tools
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/tools/BugReportExceptionHandler.java
r3840 r4380 6 6 import java.awt.Component; 7 7 import java.awt.GridBagLayout; 8 import java.awt.Toolkit;9 import java.awt.datatransfer.Clipboard;10 import java.awt.datatransfer.ClipboardOwner;11 import java.awt.datatransfer.StringSelection;12 import java.awt.datatransfer.Transferable;13 8 import java.io.PrintWriter; 14 9 import java.io.StringWriter; … … 127 122 "below at this URL:")), GBC.eol()); 128 123 p.add(new UrlLabel("http://josm.openstreetmap.de/newticket"), GBC.eop().insets(8,0,0,0)); 129 try { 130 Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(text), new ClipboardOwner(){ 131 public void lostOwnership(Clipboard clipboard, Transferable contents) {} 132 }); 124 if (Utils.copyToClipboard(text)) { 133 125 p.add(new JLabel(tr("(The text has already been copied to your clipboard.)")), GBC.eop()); 134 126 } 135 catch (RuntimeException x) {}136 127 137 128 JTextArea info = new JTextArea(text, 20, 60); -
trunk/src/org/openstreetmap/josm/tools/Utils.java
r4272 r4380 3 3 4 4 import java.awt.Color; 5 import java.awt.Toolkit; 6 import java.awt.datatransfer.Clipboard; 7 import java.awt.datatransfer.ClipboardOwner; 8 import java.awt.datatransfer.DataFlavor; 9 import java.awt.datatransfer.StringSelection; 10 import java.awt.datatransfer.Transferable; 11 import java.awt.datatransfer.UnsupportedFlavorException; 5 12 import java.io.File; 6 13 import java.io.IOException; … … 264 271 return Math.abs(a - b) <= EPSILION; 265 272 } 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 } 266 314 }
Note:
See TracChangeset
for help on using the changeset viewer.