1 package nl.tudelft.simulation.introspection.mapping;
2
3 import java.awt.Component;
4 import java.util.EventObject;
5
6 import javax.swing.DefaultCellEditor;
7 import javax.swing.JTable;
8 import javax.swing.JTextField;
9 import javax.swing.event.CellEditorListener;
10 import javax.swing.table.TableCellEditor;
11
12 /***
13 * The default editor.
14 * <p>
15 * (c) copyright 2002-2005 <a href="http://www.simulation.tudelft.nl">Delft
16 * University of Technology </a>, the Netherlands. <br>
17 * See for project information <a
18 * href="http://www.simulation.tudelft.nl">www.simulation.tudelft.nl </a> <br>
19 * License of use: <a href="http://www.gnu.org/copyleft/lesser.html">Lesser
20 * General Public License (LGPL) </a>, no warranty.
21 *
22 * @author <a href="http://www.peter-jacobs.com/index.htm">Peter Jacobs </a>
23 * @version 1.2 Apr 15, 2004
24 * @since 1.5
25 */
26 public class MyDefaultEditor implements TableCellEditor
27 {
28 /*** the delegate */
29 private TableCellEditor delegate = new DefaultCellEditor(new JTextField());
30
31 /***
32 * @see javax.swing.table.TableCellEditor#getTableCellEditorComponent(JTable,
33 * Object, boolean, int, int)
34 */
35 public Component getTableCellEditorComponent(final JTable table,
36 final Object value, final boolean isSelected, final int row,
37 final int column)
38 {
39 TableCellEditor editor = table.getDefaultEditor(value.getClass());
40 if (!(editor instanceof MyDefaultEditor))
41 {
42 this.delegate = editor;
43 }
44 return this.delegate.getTableCellEditorComponent(table, value,
45 isSelected, row, column);
46 }
47
48 /***
49 * @see javax.swing.CellEditor#cancelCellEditing()
50 */
51 public void cancelCellEditing()
52 {
53 this.delegate.cancelCellEditing();
54 }
55
56 /***
57 * @see javax.swing.CellEditor#getCellEditorValue()
58 */
59 public Object getCellEditorValue()
60 {
61 return this.delegate.getCellEditorValue();
62 }
63
64 /***
65 * @see javax.swing.CellEditor#isCellEditable(EventObject)
66 */
67 public boolean isCellEditable(final EventObject anEvent)
68 {
69 return this.delegate.isCellEditable(anEvent);
70 }
71
72 /***
73 * @see javax.swing.CellEditor#shouldSelectCell(EventObject)
74 */
75 public boolean shouldSelectCell(final EventObject anEvent)
76 {
77 return this.delegate.shouldSelectCell(anEvent);
78 }
79
80 /***
81 * @see javax.swing.CellEditor#stopCellEditing()
82 */
83 public boolean stopCellEditing()
84 {
85 return this.delegate.stopCellEditing();
86 }
87
88 /***
89 * @see javax.swing.CellEditor#addCellEditorListener(CellEditorListener)
90 */
91 public void addCellEditorListener(final CellEditorListener l)
92 {
93 this.delegate.addCellEditorListener(l);
94 }
95
96 /***
97 * @see javax.swing.CellEditor#removeCellEditorListener(CellEditorListener)
98 */
99 public void removeCellEditorListener(final CellEditorListener l)
100 {
101 this.delegate.removeCellEditorListener(l);
102 }
103 }