2
package org.crosswire.common.config.swing.fields;
4
import java.awt.BorderLayout;
5
import java.awt.event.ActionEvent;
6
import java.awt.event.ActionListener;
8
import javax.swing.JButton;
9
import javax.swing.JComponent;
10
import javax.swing.JPanel;
12
import org.crosswire.common.config.swing.Field;
15
* A Filename selection.
17
* <table border='1' cellPadding='3' cellSpacing='0' width="100%">
18
* <tr><td bgColor='white'class='TableRowColor'><font size='-7'>
19
* Distribution Licence:<br />
20
* Project B is free software; you can redistribute it
21
* and/or modify it under the terms of the GNU General Public License,
22
* version 2 as published by the Free Software Foundation.<br />
23
* This program is distributed in the hope that it will be useful,
24
* but WITHOUT ANY WARRANTY; without even the implied warranty of
25
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
26
* General Public License for more details.<br />
27
* The License is available on the internet
28
* <a href='http://www.gnu.org/copyleft/gpl.html'>here</a>, by writing to
29
* <i>Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
30
* MA 02111-1307, USA</i>, Or locally at the Licence link below.<br />
31
* The copyright to this program is held by it's authors.
32
* </font></td></tr></table>
33
* @see <a href='http://www.eireneh.com/servlets/Web'>Project B Home</a>
34
* @see <{docs.Licence}>
37
public class ActionField extends JPanel implements Field
40
* Create a new FileField
44
edit.addActionListener(new ActionListener()
46
public void actionPerformed(ActionEvent ex) { runner.run(); }
49
setLayout(new BorderLayout());
54
* Some fields will need some extra info to display properly
55
* like the options in an options field. FieldMap calls this
56
* method with options provided by the choice.
57
* @param param The options provided by the Choice
59
public void setOptions(Object param)
61
Object[] params = (Object[]) param;
62
runner = (Runnable) params[0];
63
edit.setText((String) params[1]);
67
* Return a string version of the current value
68
* @return The current value
70
public String getValue()
76
* Set the current value
77
* @param value The new text
79
public void setValue(String value)
84
* Get the actual component that we can add to a Panel.
85
* (This can well be this in an implementation).
87
public JComponent getComponent()
92
/** What to do when we are clicked */
93
protected Runnable runner;
95
/** The browse button */
96
private JButton edit = new JButton("Edit");