source: release-kits/shared/launch4j/src/net/sf/launch4j/binding/JToggleButtonBinding.java@ 15024

Last change on this file since 15024 was 15024, checked in by oranfry, 16 years ago

putting launch4j in the shared area

File size: 2.6 KB
Line 
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 */
25package net.sf.launch4j.binding;
26
27import java.awt.Color;
28
29import javax.swing.JToggleButton;
30
31import org.apache.commons.beanutils.PropertyUtils;
32
33/**
34 * Handles JToggleButton, JCheckBox
35 *
36 * @author Copyright (C) 2005 Grzegorz Kowal
37 */
38public class JToggleButtonBinding implements Binding {
39 private final String _property;
40 private final JToggleButton _button;
41 private final boolean _defaultValue;
42 private final Color _validColor;
43
44 public JToggleButtonBinding(String property, JToggleButton button, boolean defaultValue) {
45 if (property == null || button == null) {
46 throw new NullPointerException();
47 }
48 if (property.equals("")) {
49 throw new IllegalArgumentException();
50 }
51 _property = property;
52 _button = button;
53 _defaultValue = defaultValue;
54 _validColor = _button.getBackground();
55 }
56
57 public String getProperty() {
58 return _property;
59 }
60
61 public void clear(IValidatable bean) {
62 _button.setSelected(_defaultValue);
63 }
64
65 public void put(IValidatable bean) {
66 try {
67 // String s = BeanUtils.getProperty(o, _property);
68 // _checkBox.setSelected("true".equals(s));
69 Boolean b = (Boolean) PropertyUtils.getProperty(bean, _property);
70 _button.setSelected(b != null && b.booleanValue());
71 } catch (Exception e) {
72 throw new BindingException(e);
73 }
74 }
75
76 public void get(IValidatable bean) {
77 try {
78 PropertyUtils.setProperty(bean, _property, Boolean.valueOf(_button.isSelected()));
79 } catch (Exception 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}
Note: See TracBrowser for help on using the repository browser.