Index: trunk/src/org/openstreetmap/josm/Main.java
===================================================================
--- trunk/src/org/openstreetmap/josm/Main.java	(revision 6900)
+++ trunk/src/org/openstreetmap/josm/Main.java	(revision 6901)
@@ -37,5 +37,4 @@
 import javax.swing.JComponent;
 import javax.swing.JFrame;
-import javax.swing.JLabel;
 import javax.swing.JOptionPane;
 import javax.swing.JPanel;
@@ -88,4 +87,5 @@
 import org.openstreetmap.josm.gui.progress.ProgressMonitorExecutor;
 import org.openstreetmap.josm.gui.util.RedirectInputMap;
+import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
 import org.openstreetmap.josm.io.OsmApi;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
@@ -1123,5 +1123,5 @@
                 return;
             if (version.startsWith("1.5") || version.startsWith("5")) {
-                JLabel ho = new JLabel("<html>"+
+                JMultilineLabel ho = new JMultilineLabel("<html>"+
                         tr("<h2>JOSM requires Java version 6.</h2>"+
                                 "Detected Java version: {0}.<br>"+
Index: trunk/src/org/openstreetmap/josm/actions/AboutAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AboutAction.java	(revision 6900)
+++ trunk/src/org/openstreetmap/josm/actions/AboutAction.java	(revision 6901)
@@ -19,4 +19,5 @@
 import org.openstreetmap.josm.data.Version;
 import org.openstreetmap.josm.gui.util.GuiHelper;
+import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
 import org.openstreetmap.josm.gui.widgets.JosmTextArea;
 import org.openstreetmap.josm.gui.widgets.UrlLabel;
@@ -74,14 +75,15 @@
 
         JPanel info = new JPanel(new GridBagLayout());
-        JLabel caption = new JLabel("JOSM – " + tr("Java OpenStreetMap Editor"));
-        caption.setFont(GuiHelper.getTitleFont());
-        info.add(caption, GBC.eol().fill(GBC.HORIZONTAL).insets(10,0,0,0));
-        info.add(GBC.glue(0,10), GBC.eol());
-        info.add(new JLabel(tr("Version {0}", version.getVersionString())), GBC.eol().fill(GBC.HORIZONTAL).insets(10,0,0,0));
-        info.add(GBC.glue(0,5), GBC.eol());
-        info.add(new JLabel(tr("Last change at {0}",version.getTime())), GBC.eol().fill(GBC.HORIZONTAL).insets(10,0,0,0));
-        info.add(GBC.glue(0,5), GBC.eol());
-        info.add(new JLabel(tr("Java Version {0}",System.getProperty("java.version"))), GBC.eol().fill(GBC.HORIZONTAL).insets(10,0,0,0));
-        info.add(GBC.glue(0,10), GBC.eol());
+        final JMultilineLabel label = new JMultilineLabel("<html>" +
+                "<h1>" + "JOSM – " + tr("Java OpenStreetMap Editor") + "</h1>" +
+                "<p style='font-size:75%'></p>" +
+                "<p>" + tr("Version {0}", version.getVersionString()) + "</p>" +
+                "<p style='font-size:50%'></p>" +
+                "<p>" + tr("Last change at {0}", version.getTime()) + "</p>" +
+                "<p style='font-size:50%'></p>" +
+                "<p>" + tr("Java Version {0}", System.getProperty("java.version")) + "</p>" +
+                "<p style='font-size:50%'></p>" +
+                "</html>");
+        info.add(label, GBC.eol().fill(GBC.HORIZONTAL).insets(10, 0, 0, 0));
         info.add(new JLabel(tr("Homepage")), GBC.std().insets(10,0,10,0));
         info.add(new UrlLabel(Main.getJOSMWebsite(),2), GBC.eol().fill(GBC.HORIZONTAL));
Index: trunk/src/org/openstreetmap/josm/command/Command.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/Command.java	(revision 6900)
+++ trunk/src/org/openstreetmap/josm/command/Command.java	(revision 6901)
@@ -10,5 +10,4 @@
 import java.util.Map.Entry;
 
-import javax.swing.JLabel;
 import javax.swing.JOptionPane;
 import javax.swing.JPanel;
@@ -26,4 +25,5 @@
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
 
@@ -210,5 +210,5 @@
         if (outside) {
             JPanel msg = new JPanel(new GridBagLayout());
-            msg.add(new JLabel("<html>" + outsideDialogMessage + "</html>"));
+            msg.add(new JMultilineLabel("<html>" + outsideDialogMessage + "</html>"));
             boolean answer = ConditionalOptionPaneUtil.showConfirmationDialog(
                     operation + "_outside_nodes",
@@ -224,5 +224,5 @@
         if (incomplete) {
             JPanel msg = new JPanel(new GridBagLayout());
-            msg.add(new JLabel("<html>" + incompleteDialogMessage + "</html>"));
+            msg.add(new JMultilineLabel("<html>" + incompleteDialogMessage + "</html>"));
             boolean answer = ConditionalOptionPaneUtil.showConfirmationDialog(
                     operation + "_incomplete",
Index: trunk/src/org/openstreetmap/josm/command/DeleteCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/DeleteCommand.java	(revision 6900)
+++ trunk/src/org/openstreetmap/josm/command/DeleteCommand.java	(revision 6901)
@@ -20,5 +20,4 @@
 
 import javax.swing.Icon;
-import javax.swing.JLabel;
 import javax.swing.JOptionPane;
 import javax.swing.JPanel;
@@ -38,4 +37,5 @@
 import org.openstreetmap.josm.gui.actionsupport.DeleteFromRelationConfirmationDialog;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -464,5 +464,5 @@
     private static boolean confirmRelationDeletion(Collection<Relation> relations) {
         JPanel msg = new JPanel(new GridBagLayout());
-        msg.add(new JLabel("<html>" + trn(
+        msg.add(new JMultilineLabel("<html>" + trn(
                 "You are about to delete {0} relation: {1}"
                 + "<br/>"
Index: trunk/src/org/openstreetmap/josm/gui/ConditionalOptionPaneUtil.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/ConditionalOptionPaneUtil.java	(revision 6900)
+++ trunk/src/org/openstreetmap/josm/gui/ConditionalOptionPaneUtil.java	(revision 6901)
@@ -13,5 +13,4 @@
 
 import javax.swing.ButtonGroup;
-import javax.swing.JLabel;
 import javax.swing.JOptionPane;
 import javax.swing.JPanel;
@@ -19,4 +18,5 @@
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.Utils;
@@ -271,5 +271,5 @@
                 add((Component) message, GBC.eop());
             } else if (message != null) {
-                add(new JLabel(message.toString()), GBC.eop());
+                add(new JMultilineLabel(message.toString()), GBC.eop());
             }
             add(cbShowPermanentDialog, GBC.eol());
Index: trunk/src/org/openstreetmap/josm/gui/SplashScreen.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/SplashScreen.java	(revision 6900)
+++ trunk/src/org/openstreetmap/josm/gui/SplashScreen.java	(revision 6901)
@@ -65,5 +65,5 @@
 
         // Add the name of this application
-        JLabel caption = new JLabel("JOSM - " + tr("Java OpenStreetMap Editor"));
+        JLabel caption = new JLabel("JOSM – " + tr("Java OpenStreetMap Editor"));
         caption.setFont(GuiHelper.getTitleFont());
         gbc.gridheight = 1;
@@ -107,4 +107,8 @@
     }
 
+    /**
+     * Returns the progress monitor.
+     * @return The progress monitor
+     */
     public ProgressMonitor getProgressMonitor() {
         return progressMonitor;
Index: trunk/src/org/openstreetmap/josm/gui/io/BasicUploadSettingsPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/BasicUploadSettingsPanel.java	(revision 6900)
+++ trunk/src/org/openstreetmap/josm/gui/io/BasicUploadSettingsPanel.java	(revision 6901)
@@ -29,5 +29,5 @@
 import org.openstreetmap.josm.data.osm.Changeset;
 import org.openstreetmap.josm.gui.widgets.HistoryComboBox;
-import org.openstreetmap.josm.gui.widgets.JosmEditorPane;
+import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
 import org.openstreetmap.josm.tools.GBC;
@@ -56,6 +56,5 @@
         JPanel pnl = new JPanel(new GridBagLayout());
 
-        final JEditorPane commentLabel = JosmEditorPane.createJLabelLikePane();
-        commentLabel.setText("<html><b>" + tr("Provide a brief comment for the changes you are uploading:"));
+        final JEditorPane commentLabel = new JMultilineLabel("<html><b>" + tr("Provide a brief comment for the changes you are uploading:"));
         pnl.add(commentLabel, GBC.eol().insets(0, 5, 10, 3).fill(GBC.HORIZONTAL));
         hcbUploadComment.setToolTipText(tr("Enter an upload comment"));
@@ -69,6 +68,5 @@
         pnl.add(hcbUploadComment, GBC.eol().fill(GBC.HORIZONTAL));
 
-        final JEditorPane sourceLabel = JosmEditorPane.createJLabelLikePane();
-        sourceLabel.setText("<html><b>" + tr("Specify the data source for the changes")
+        final JEditorPane sourceLabel = new JMultilineLabel("<html><b>" + tr("Specify the data source for the changes")
                 + "</b> (<a href=\"urn:changeset-source\">" + tr("obtain from current layers") + "</a>)<b>:</b>");
         sourceLabel.addHyperlinkListener(new HyperlinkListener() {
Index: trunk/src/org/openstreetmap/josm/gui/io/UploadParameterSummaryPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/UploadParameterSummaryPanel.java	(revision 6900)
+++ trunk/src/org/openstreetmap/josm/gui/io/UploadParameterSummaryPanel.java	(revision 6901)
@@ -16,5 +16,5 @@
 
 import org.openstreetmap.josm.data.osm.Changeset;
-import org.openstreetmap.josm.gui.widgets.JosmEditorPane;
+import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
 import org.openstreetmap.josm.io.OsmApi;
 import org.openstreetmap.josm.tools.ImageProvider;
@@ -24,5 +24,5 @@
     private UploadStrategySpecification spec = new UploadStrategySpecification();
     private int numObjects;
-    private JosmEditorPane jepMessage;
+    private JMultilineLabel jepMessage;
     private JLabel lblWarning;
 
@@ -99,5 +99,5 @@
 
     protected void build() {
-        jepMessage = JosmEditorPane.createJLabelLikePane();
+        jepMessage = new JMultilineLabel("");
         jepMessage.addHyperlinkListener(this);
 
Index: trunk/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java	(revision 6900)
+++ trunk/src/org/openstreetmap/josm/gui/io/UploadStrategySelectionPanel.java	(revision 6901)
@@ -1,4 +1,5 @@
 // License: GPL. For details, see LICENSE file.
 package org.openstreetmap.josm.gui.io;
+
 import static org.openstreetmap.josm.tools.I18n.tr;
 import static org.openstreetmap.josm.tools.I18n.trn;
@@ -30,8 +31,7 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.io.OsmApi;
-import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
 import org.openstreetmap.josm.gui.widgets.JosmTextField;
+import org.openstreetmap.josm.io.OsmApi;
 
 /**
@@ -108,5 +108,5 @@
         gc.weighty = 0.0;
         gc.gridwidth = 2;
-        JLabel lbl = lblStrategies.get(UploadStrategy.SINGLE_REQUEST_STRATEGY);
+        JMultilineLabel lbl = lblStrategies.get(UploadStrategy.SINGLE_REQUEST_STRATEGY);
         lbl.setText(tr("Upload data in one request"));
         pnl.add(lbl, gc);
@@ -320,6 +320,5 @@
         if (maxChunkSize > 0 && numUploadedObjects > maxChunkSize) {
             rbStrategy.get(UploadStrategy.SINGLE_REQUEST_STRATEGY).setEnabled(false);
-            JLabel lbl = lblStrategies.get(UploadStrategy.SINGLE_REQUEST_STRATEGY);
-            lbl.setIcon(ImageProvider.get("warning-small.png"));
+            JMultilineLabel lbl = lblStrategies.get(UploadStrategy.SINGLE_REQUEST_STRATEGY);
             lbl.setText(tr("Upload in one request not possible (too many objects to upload)"));
             lbl.setToolTipText(tr("<html>Cannot upload {0} objects in one request because the<br>"
@@ -341,7 +340,6 @@
         } else {
             rbStrategy.get(UploadStrategy.SINGLE_REQUEST_STRATEGY).setEnabled(true);
-            JLabel lbl = lblStrategies.get(UploadStrategy.SINGLE_REQUEST_STRATEGY);
+            JMultilineLabel lbl = lblStrategies.get(UploadStrategy.SINGLE_REQUEST_STRATEGY);
             lbl.setText(tr("Upload data in one request"));
-            lbl.setIcon(null);
             lbl.setToolTipText("");
             lblNumRequests.get(UploadStrategy.SINGLE_REQUEST_STRATEGY).setVisible(true);
Index: trunk/src/org/openstreetmap/josm/gui/preferences/server/OAuthAuthenticationPreferencesPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/server/OAuthAuthenticationPreferencesPanel.java	(revision 6900)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/server/OAuthAuthenticationPreferencesPanel.java	(revision 6901)
@@ -189,5 +189,5 @@
             gc.fill = GridBagConstraints.HORIZONTAL;
             gc.weightx = 1.0;
-            JLabel lbl;
+            JMultilineLabel lbl;
             add(lbl = new JMultilineLabel(tr("You do not have an Access Token yet to access the OSM server using OAuth. Please authorize first.")), gc);
             lbl.setFont(lbl.getFont().deriveFont(Font.PLAIN));
@@ -228,5 +228,5 @@
             gc.weightx = 1.0;
             gc.gridwidth = 2;
-            JLabel lbl;
+            JMultilineLabel lbl;
             add(lbl = new JMultilineLabel(tr("You already have an Access Token to access the OSM server using OAuth.")), gc);
             lbl.setFont(lbl.getFont().deriveFont(Font.PLAIN));
Index: trunk/src/org/openstreetmap/josm/gui/widgets/JMultilineLabel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/widgets/JMultilineLabel.java	(revision 6900)
+++ trunk/src/org/openstreetmap/josm/gui/widgets/JMultilineLabel.java	(revision 6901)
@@ -5,5 +5,5 @@
 import java.awt.Rectangle;
 
-import javax.swing.JLabel;
+import javax.swing.JEditorPane;
 import javax.swing.plaf.basic.BasicHTML;
 import javax.swing.text.View;
@@ -16,8 +16,8 @@
  * Note that this won't work if JMultilineLabel is put into a JScrollBox or
  * similar as the bounds will never change. Instead scrollbars will be displayed.
- * 
+ *
  * @since 6340
  */
-public class JMultilineLabel extends JLabel {
+public class JMultilineLabel extends JEditorPane {
     private int maxWidth = Integer.MAX_VALUE;
     private Rectangle oldbounds = null;
@@ -33,5 +33,9 @@
      */
     public JMultilineLabel(String text) {
-        super();
+        this(text, true);
+    }
+
+    public JMultilineLabel(String text, boolean allBold) {
+        JosmEditorPane.makeJLabelLike(this, allBold);
         String html = text.trim().replaceAll("\n", "<br>");
         if (!html.startsWith("<html>")) {
Index: trunk/src/org/openstreetmap/josm/gui/widgets/JosmEditorPane.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/widgets/JosmEditorPane.java	(revision 6900)
+++ trunk/src/org/openstreetmap/josm/gui/widgets/JosmEditorPane.java	(revision 6901)
@@ -13,4 +13,5 @@
 import javax.swing.text.html.StyleSheet;
 
+import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.tools.Utils;
 
@@ -81,8 +82,8 @@
 
     /**
-     * Creates a {@link JosmEditorPane} which is meant to be used as a powerful replacement of {@link javax.swing.JLabel}.
+     * Adapts an {@link JEditorPane} to be used as a powerful replacement of {@link javax.swing.JLabel}.
      */
-    public static JosmEditorPane createJLabelLikePane() {
-        final JosmEditorPane pane = new JosmEditorPane("text/html", "");
+    public static void makeJLabelLike(JEditorPane pane, boolean allBold) {
+        pane.setContentType("text/html");
         pane.setOpaque(false);
         pane.setEditable(false);
@@ -91,5 +92,13 @@
         final Font f = UIManager.getFont("Label.font");
         final StyleSheet ss = new StyleSheet();
-        final String rule = MessageFormat.format(
+        ss.addRule((allBold ? "html" : "strong, b") + " {" + getFontRule(f) + "}");
+        ss.addRule("a {text-decoration: underline; color: blue}");
+        ss.addRule("h1 {" + getFontRule(GuiHelper.getTitleFont()) + "}");
+        kit.setStyleSheet(ss);
+        pane.setEditorKit(kit);
+    }
+
+    private static String getFontRule(Font f) {
+        return MessageFormat.format(
                 "font-family: ''{0}'';font-size: {1,number}pt; font-weight: {2}; font-style: {3}",
                 f.getName(),
@@ -98,10 +107,4 @@
                 f.isItalic() ? "italic" : "normal"
         );
-        ss.addRule("strong {" + rule + "}");
-        ss.addRule("a {text-decoration: underline; color: blue}");
-        kit.setStyleSheet(ss);
-        pane.setEditorKit(kit);
-
-        return pane;
     }
 }
