KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > form > editors2 > ComboBoxModelEditor


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.form.editors2;
21
22 import javax.swing.*;
23 import org.netbeans.modules.form.editors.StringArrayEditor;
24 import org.openide.util.NbBundle;
25
26 /** A simple property editor for ComboBoxModel.
27  *
28  * @author Tomas Pavek
29  */

30
31 public class ComboBoxModelEditor extends StringArrayEditor {
32
33     private ComboBoxModel comboModel = null;
34
35     public void setValue(Object JavaDoc val) {
36         if (val instanceof ComboBoxModel) {
37             comboModel = (ComboBoxModel) val;
38             super.setValue(getDataFromModel(comboModel));
39         }
40         else if (val instanceof String JavaDoc[]) {
41             comboModel = getModelForData((String JavaDoc[])val);
42             super.setValue(val);
43         }
44         else {
45             comboModel = getModelForData(new String JavaDoc[0]);
46             super.setValue(null);
47         }
48     }
49
50     public Object JavaDoc getValue() {
51         return comboModel;
52     }
53
54     public void setStringArray(String JavaDoc[] value) {
55         comboModel = getModelForData(value);
56         super.setValue(value);
57     }
58
59     public String JavaDoc[] getStringArray () {
60         return (String JavaDoc[])super.getValue ();
61     }
62
63     public String JavaDoc getJavaInitializationString() {
64         if (getStrings(true).equals(""))
65             return null;
66         StringBuffer JavaDoc buf = new StringBuffer JavaDoc(
67                 "new javax.swing.DefaultComboBoxModel(new String[] { "); // NOI18N
68
buf.append(getStrings(true));
69         buf.append(" })"); // NOI18N
70

71         return buf.toString();
72     }
73
74     static String JavaDoc[] getDataFromModel(ComboBoxModel model) {
75         return ListModelEditor.getDataFromModel(model);
76     }
77
78     static ComboBoxModel getModelForData(String JavaDoc[] data) {
79         return new DefaultComboBoxModel(data);
80     }
81     
82     // NamedPropertyEditor implementation
83
public String JavaDoc getDisplayName() {
84         return NbBundle.getBundle(getClass()).getString("CTL_ComboBoxModelEditor_DisplayName"); // NOI18N
85
}
86
87 }
88
Popular Tags