View Javadoc

1   /*
2    *  XNap Commons
3    *
4    *  Copyright (C) 2005  Steffen Pingel
5    *
6    *  This library is free software; you can redistribute it and/or
7    *  modify it under the terms of the GNU Lesser General Public
8    *  License as published by the Free Software Foundation; either
9    *  version 2.1 of the License, or (at your option) any later version.
10   *
11   *  This library is distributed in the hope that it will be useful,
12   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14   *  Lesser General Public License for more details.
15   *
16   *  You should have received a copy of the GNU Lesser General Public
17   *  License along with this library; if not, write to the Free Software
18   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19   */
20  package org.xnap.commons.settings;
21  
22  import java.awt.Color;
23  
24  /***
25   * Provides a setting for <code>Color</code> objects.
26   */
27  public class ColorSetting extends AbstractSetting<Color> {
28  
29      public ColorSetting(SettingResource backend, String key, Color defaultValue, Validator validator)
30      {
31      	super(backend, key, defaultValue, validator);
32      }
33  
34      public ColorSetting(SettingResource backend, String key, Color defaultValue)
35      {
36      	super(backend, key, defaultValue, null);
37      }
38  
39      protected Color fromString(String value)
40  	{
41  		int val = Integer.parseInt(value);
42  		return new Color(val & 0xFF, (val >> 8) & 0xFF, (val >> 16) & 0xFF);
43  	}
44  
45  	protected String toString(Color value)
46  	{
47  		Color color = (Color)value;
48  		int c = color.getRed() 
49  			| color.getGreen() << 8 
50  			| color.getBlue() << 16;
51  		return c + "";
52  	}
53  
54  }