[Schmitzm-commits] r253 - in trunk/src/schmitzm: swing xml

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Fri Jul 31 14:30:15 CEST 2009


Author: mojays
Date: 2009-07-31 14:30:14 +0200 (Fri, 31 Jul 2009)
New Revision: 253

Modified:
   trunk/src/schmitzm/swing/SwingUtil.java
   trunk/src/schmitzm/xml/XMLUtil.java
Log:
new SwingUtil.convertColorToHex(..)

Modified: trunk/src/schmitzm/swing/SwingUtil.java
===================================================================
--- trunk/src/schmitzm/swing/SwingUtil.java	2009-07-31 12:14:26 UTC (rev 252)
+++ trunk/src/schmitzm/swing/SwingUtil.java	2009-07-31 12:30:14 UTC (rev 253)
@@ -660,6 +660,48 @@
   }
 
   /**
+   * Versucht, aus einem String eine Farbe zu erstellen. Drei Moeglichekeiten
+   * gibt es fuer das Format des Strings:
+   * <ol>
+   *   <li><code>"RGB(<i>red</i>,<i>green</i>,<i>blue</i>)"</code><br>
+   *       wobei <i>red</i>,<i>green</i> und <i>blue</i> dezimale Werte
+   *       zwischen 0 und 255 sind.</li>
+   *   <li>Der String stellt einen Integer-Wert im dezimalen, oktalen oder
+   *       hexadezimalen Format dar, aus dem die 3 RGB-Werte extrahiert werden
+   *       (siehe {@link Color#decode(String) Color.decode(..)}).</li>
+   *   <li>Der String spezifiziert ein statisches Feld der Klasse {@link Color}.<br>
+   *       z.B. steht <code>"RED"</code> fuer {@link Color#RED Color.RED},
+   *            <code>"darkGray"</code> fuer {@link Color#darkGray Color.darkGray} oder
+   *            <code>"LIGHT_GRAY"</code> fuer {@link Color#LIGHT_GRAY Color.LIGHT_GRAY}</li>
+   * </ol>
+   *
+   * @author <a href="mailto:martin.schmitz at koeln.de">Martin Schmitz</a> (University of Bonn/Germany)
+   *
+   * @throws IllegalArgumentException wenn der uebergebene String nicht interpretiert werden kann.
+   *
+   */
+  // Schmeisst nur noch IllegalArgumentException, vorher Exception. (SK) 21.08.2007
+  public static String convertColorToHex(Color color) {
+    int r = color.getRed();
+    int g = color.getGreen();
+    int b = color.getBlue();
+
+    // Convert RGB to 2-digit Hex
+    String rHex = Integer.toHexString(r);
+    if ( rHex.length() < 2 )
+      rHex = "0" + rHex;
+    String gHex = Integer.toHexString(g);
+    if ( gHex.length() < 2 )
+      gHex = "0" + gHex;
+    String bHex = Integer.toHexString(b);
+    if ( bHex.length() < 2 )
+      bHex = "0" + bHex;
+    
+    // combine RGB to Hex string
+    return "#"+rHex+gHex+bHex;
+  }
+
+  /**
    * Setzt das Label eine Componente neu. Macht nichts, falls {@code newLabel}
    * oder {@code comp} den Wert {@code null} hat.
    * @param comp {@link JLabel}, {@link AbstractButton}, {@link JDialog} oder

Modified: trunk/src/schmitzm/xml/XMLUtil.java
===================================================================
--- trunk/src/schmitzm/xml/XMLUtil.java	2009-07-31 12:14:26 UTC (rev 252)
+++ trunk/src/schmitzm/xml/XMLUtil.java	2009-07-31 12:30:14 UTC (rev 253)
@@ -181,7 +181,7 @@
     String valueStr = value.toString();
     // Special: convert color to hex rgb string
     if ( value instanceof Color )
-      valueStr = Long.toHexString( ((Color)value).getRGB() );
+      valueStr = SwingUtil.convertColorToHex((Color)value);
     
     element.setAttribute(attrName, valueStr);
   



More information about the Schmitzm-commits mailing list