KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > launch4j > binding > JToggleButtonBinding


1 /*
2     Launch4j (http://launch4j.sourceforge.net/)
3     Cross-platform Java application wrapper for creating Windows native executables.
4
5     Copyright (C) 2004, 2006 Grzegorz Kowal
6
7     This program is free software; you can redistribute it and/or modify
8     it under the terms of the GNU General Public License as published by
9     the Free Software Foundation; either version 2 of the License, or
10     (at your option) any later version.
11
12     This program is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15     GNU General Public License for more details.
16
17     You should have received a copy of the GNU General Public License
18     along with this program; if not, write to the Free Software
19     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20 */

21
22 /*
23  * Created on Apr 30, 2005
24  */

25 package net.sf.launch4j.binding;
26
27 import java.awt.Color JavaDoc;
28
29 import javax.swing.JToggleButton JavaDoc;
30
31 import org.apache.commons.beanutils.PropertyUtils;
32
33 /**
34  * Handles JToggleButton, JCheckBox
35  *
36  * @author Copyright (C) 2005 Grzegorz Kowal
37  */

38 public class JToggleButtonBinding implements Binding {
39     private final String JavaDoc _property;
40     private final JToggleButton JavaDoc _button;
41     private final boolean _defaultValue;
42     private final Color JavaDoc _validColor;
43
44     public JToggleButtonBinding(String JavaDoc property, JToggleButton JavaDoc button,
45             boolean defaultValue) {
46         if (property == null || button == null) {
47             throw new NullPointerException JavaDoc();
48         }
49         if (property.equals("")) {
50             throw new IllegalArgumentException JavaDoc();
51         }
52         _property = property;
53         _button = button;
54         _defaultValue = defaultValue;
55         _validColor = _button.getBackground();
56     }
57
58     public String JavaDoc getProperty() {
59         return _property;
60     }
61
62     public void clear(IValidatable bean) {
63         _button.setSelected(_defaultValue);
64     }
65
66     public void put(IValidatable bean) {
67         try {
68             Boolean JavaDoc b = (Boolean JavaDoc) PropertyUtils.getProperty(bean, _property);
69             _button.setSelected(b != null && b.booleanValue());
70         } catch (Exception JavaDoc e) {
71             throw new BindingException(e);
72         }
73     }
74
75     public void get(IValidatable bean) {
76         try {
77             PropertyUtils.setProperty(bean, _property,
78                     Boolean.valueOf(_button.isSelected()));
79         } catch (Exception JavaDoc e) {
80             throw new BindingException(e);
81         }
82     }
83     
84     public void markValid() {
85         _button.setBackground(_validColor);
86         _button.requestFocusInWindow();
87     }
88
89     public void markInvalid() {
90         _button.setBackground(Binding.INVALID_COLOR);
91     }
92     
93     public void setEnabled(boolean enabled) {
94         _button.setEnabled(enabled);
95     }
96 }
97
Popular Tags