KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > ungoverned > oscar > installer > editor > StringEditor


1 /*
2  * Oscar - An implementation of the OSGi framework.
3  * Copyright (c) 2004, Richard S. Hall
4  * All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  *
10  * * Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer.
12  * * Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in
14  * the documentation and/or other materials provided with the
15  * distribution.
16  * * Neither the name of the ungoverned.org nor the names of its
17  * contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  *
32  * Contact: Richard S. Hall (heavy@ungoverned.org)
33  * Contributor(s):
34  *
35 **/

36 package org.ungoverned.oscar.installer.editor;
37
38 import java.awt.GridBagConstraints JavaDoc;
39 import java.awt.GridBagLayout JavaDoc;
40 import java.awt.Insets JavaDoc;
41 import java.awt.event.FocusEvent JavaDoc;
42 import java.awt.event.FocusListener JavaDoc;
43
44 import javax.swing.JPanel JavaDoc;
45 import javax.swing.JTextField JavaDoc;
46
47 import org.ungoverned.oscar.installer.Property;
48 import org.ungoverned.oscar.installer.StringProperty;
49
50 public class StringEditor extends JPanel JavaDoc
51 {
52     private StringProperty m_prop = null;
53     private JTextField JavaDoc m_textField = null;
54
55     public StringEditor(StringProperty prop)
56     {
57         m_prop = prop;
58         init();
59     }
60
61     public Property getProperty()
62     {
63         return m_prop;
64     }
65
66     public void setEnabled(boolean b)
67     {
68         m_textField.setEnabled(b);
69     }
70
71     protected void init()
72     {
73         // Set layout.
74
GridBagLayout JavaDoc grid = new GridBagLayout JavaDoc();
75         GridBagConstraints JavaDoc gbc = new GridBagConstraints JavaDoc();
76         gbc.insets = new Insets JavaDoc(0, 2, 0, 2);
77         setLayout(grid);
78
79         // Add field.
80
gbc.gridx = 0;
81         gbc.gridy = 0;
82         gbc.gridheight = 1;
83         gbc.gridwidth = 2;
84         gbc.anchor = GridBagConstraints.WEST;
85         m_textField = new JTextField JavaDoc(20);
86         m_textField.setText(m_prop.getStringValue());
87         grid.setConstraints(m_textField, gbc);
88         add(m_textField);
89
90         // Add focus listener.
91
m_textField.addFocusListener(new FocusListener JavaDoc() {
92             public void focusGained(FocusEvent JavaDoc event)
93             {
94             }
95             public void focusLost(FocusEvent JavaDoc event)
96             {
97                 if (!event.isTemporary())
98                 {
99                     m_prop.setStringValue(m_textField.getText());
100                 }
101             }
102         });
103     }
104 }
105
Popular Tags