Index: src/org/openstreetmap/josm/tools/UrlLabel.java
===================================================================
--- src/org/openstreetmap/josm/tools/UrlLabel.java	(revision 4875)
+++ src/org/openstreetmap/josm/tools/UrlLabel.java	(working copy)
@@ -1,21 +1,25 @@
 // License: GPL. Copyright 2007 by Immanuel Scholz and others
 package org.openstreetmap.josm.tools;
 
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
 import javax.swing.JEditorPane;
 import javax.swing.event.HyperlinkEvent;
 import javax.swing.event.HyperlinkListener;
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 /**
  * Label that contains a clickable link.
  * @author Imi
  */
-public class UrlLabel extends JEditorPane implements HyperlinkListener {
+public class UrlLabel extends JEditorPane implements HyperlinkListener, MouseListener {
 
     private String url = "";
     private String description = "";
 
     public UrlLabel() {
         addHyperlinkListener(this);
+        addMouseListener(this);
         setEditable(false);
         setOpaque(false);
     }
@@ -38,7 +42,7 @@
         } else {
             setText("<html>" + description + "</html>");
         }
-        setToolTipText(url);
+        setToolTipText(String.format("<html>%s<br/>%s</html>",url, tr("Right click = copy to clipboard")));
     }
 
     public void hyperlinkUpdate(HyperlinkEvent e) {
@@ -68,4 +72,21 @@
         this.description = this.description.replace("&", "&amp;").replace(">", "&gt;").replace("<", "&lt;");
         refresh();
     }
+
+    @Override
+    public void mouseClicked(MouseEvent e) {    }
+    @Override
+    public void mousePressed(MouseEvent e) {    }
+    @Override
+    public void mouseEntered(MouseEvent e) {    }
+    @Override
+    public void mouseExited(MouseEvent e) {    }
+
+    @Override
+    public void mouseReleased(MouseEvent e) {
+        if (e.getButton() == MouseEvent.BUTTON3) {
+            Utils.copyToClipboard(url);
+        }
+    }
+
 }
