Index: src/org/openstreetmap/josm/tools/ImageResource.java
===================================================================
--- src/org/openstreetmap/josm/tools/ImageResource.java	(revision 12603)
+++ src/org/openstreetmap/josm/tools/ImageResource.java	(working copy)
@@ -18,6 +18,7 @@
 import org.openstreetmap.josm.gui.util.GuiSizesHelper;
 
 import com.kitfox.svg.SVGDiagram;
+import java.util.Arrays;
 
 /**
  * Holds data for one particular image.
@@ -121,13 +122,20 @@
      * @since 10369
      */
     public void attachImageIcon(AbstractAction a) {
-        Dimension iconDimension = ImageProvider.ImageSizes.SMALLICON.getImageDimension();
-        ImageIcon icon = getImageIconBounded(iconDimension);
-        a.putValue(Action.SMALL_ICON, icon);
+        a.putValue(Action.SMALL_ICON, multiResImage(ImageProvider.ImageSizes.SMALLICON.getImageDimension()));
+        a.putValue(Action.LARGE_ICON_KEY, multiResImage(ImageProvider.ImageSizes.LARGEICON.getImageDimension()));
+    }
 
-        iconDimension = ImageProvider.ImageSizes.LARGEICON.getImageDimension();
-        icon = getImageIconBounded(iconDimension);
-        a.putValue(Action.LARGE_ICON_KEY, icon);
+    private ImageIcon multiResImage(Dimension dim) {
+        ImageIcon icon = getImageIconBounded(dim);
+        ImageIcon icon2 = getImageIconBounded(new Dimension(2 * dim.width, 2 * dim.height));
+        List<Image> images = Arrays.asList(icon.getImage(), icon2.getImage());
+        try {
+            Image img = MRImage.getMulti(images);
+            return new ImageIcon(img);
+        } catch (NoClassDefFoundError e) {
+            return icon;
+        }
     }
 
     /**
Index: src/org/openstreetmap/josm/tools/MRImage.java
===================================================================
--- src/org/openstreetmap/josm/tools/MRImage.java	(revision 0)
+++ src/org/openstreetmap/josm/tools/MRImage.java	(working copy)
@@ -0,0 +1,11 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.tools;
+
+import java.awt.Image;
+import java.util.List;
+
+public class MRImage {
+    public static Image getMulti(List<Image> imgs) {
+        return new java.awt.image.BaseMultiResolutionImage(imgs.toArray(new Image[0]));
+    }
+}

Property changes on: src/org/openstreetmap/josm/tools/MRImage.java
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
