[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