01: /*
02: * Copyright (C) 2005 - 2008 JasperSoft Corporation. All rights reserved.
03: * http://www.jaspersoft.com.
04: *
05: * Unless you have purchased a commercial license agreement from JasperSoft,
06: * the following license terms apply:
07: *
08: * This program is free software; you can redistribute it and/or modify
09: * it under the terms of the GNU General Public License version 2 as published by
10: * the Free Software Foundation.
11: *
12: * This program is distributed WITHOUT ANY WARRANTY; and without the
13: * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14: * See the GNU General Public License for more details.
15: *
16: * You should have received a copy of the GNU General Public License
17: * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
18: * or write to:
19: *
20: * Free Software Foundation, Inc.,
21: * 59 Temple Place - Suite 330,
22: * Boston, MA USA 02111-1307
23: *
24: *
25: *
26: *
27: * ComboBoxSheetProperty.java
28: *
29: * Created on 16 febbraio 2005, 19.13
30: *
31: */
32:
33: package it.businesslogic.ireport.gui.sheet;
34:
35: import it.businesslogic.ireport.gui.event.SheetPropertyValueChangedEvent;
36: import java.util.*;
37: import javax.swing.*;
38: import it.businesslogic.ireport.util.*;
39:
40: public class ComboBoxSheetProperty extends SheetProperty {
41:
42: public ComboBoxSheetProperty(String key, String name) {
43: super (key, name, SheetProperty.COMBOBOX);
44: }
45:
46: public Object getEditorValue(JComponent component) {
47: return ((JComboBox) component).getSelectedItem();
48: }
49:
50: public void setEditorValue(JComponent component, Object str) {
51: try {
52: ((JComboBox) component).setSelectedItem(str);
53: } catch (Exception ex) {
54: ex.printStackTrace();
55: }
56: }
57:
58: public void actionPerformed(java.awt.event.ActionEvent event) {
59: if (isSetting())
60: return;
61: Object new_value = getEditorValue(this .getEditor());
62: if (new_value != null && new_value.equals(value))
63: return;
64:
65: Object oldValue = value;
66: value = new_value;
67: //System.out.println(this.getName() + ": " + getValue());
68: if (oldValue == null || value == null) {
69: updateLabel();
70: }
71:
72: fireSheetPropertyValueChangedListenerSheetPropertyValueChanged(new SheetPropertyValueChangedEvent(
73: getKeyName(), oldValue, value, this ));
74: }
75:
76: public void updateValues(Vector values, boolean addNullEntry) {
77:
78: Misc.updateComboBox((JComboBox) getEditor(), values,
79: addNullEntry);
80:
81: }
82: }
|