View Javadoc

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 2003 <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/gpl.html">General Public
20   * License (GPL) </a>, no warranty <br>
21   * 
22   * @author <a href="http://www.tbm.tudelft.nl/webstaf/peterja/index.htm">Peter
23   *         Jacobs </a>
24   * @version 1.2 Apr 15, 2004
25   * @since 1.4
26   */
27  public class MyDefaultEditor implements TableCellEditor
28  {
29  	/*** the delegate */
30  	private TableCellEditor delegate = new DefaultCellEditor(new JTextField());
31  
32  	/***
33  	 * @see javax.swing.table.TableCellEditor#getTableCellEditorComponent(JTable,
34  	 *      Object, boolean, int, int)
35  	 */
36  	public Component getTableCellEditorComponent(final JTable table,
37  			final Object value, final boolean isSelected, final int row,
38  			final int column)
39  	{
40  		TableCellEditor editor = table.getDefaultEditor(value.getClass());
41  		if (!(editor instanceof MyDefaultEditor))
42  		{
43  			this.delegate = editor;
44  		}
45  		return this.delegate.getTableCellEditorComponent(table, value,
46  				isSelected, row, column);
47  	}
48  
49  	/***
50  	 * @see javax.swing.CellEditor#cancelCellEditing()
51  	 */
52  	public void cancelCellEditing()
53  	{
54  		this.delegate.cancelCellEditing();
55  	}
56  
57  	/***
58  	 * @see javax.swing.CellEditor#getCellEditorValue()
59  	 */
60  	public Object getCellEditorValue()
61  	{
62  		return this.delegate.getCellEditorValue();
63  	}
64  
65  	/***
66  	 * @see javax.swing.CellEditor#isCellEditable(EventObject)
67  	 */
68  	public boolean isCellEditable(final EventObject anEvent)
69  	{
70  		return this.delegate.isCellEditable(anEvent);
71  	}
72  
73  	/***
74  	 * @see javax.swing.CellEditor#shouldSelectCell(EventObject)
75  	 */
76  	public boolean shouldSelectCell(final EventObject anEvent)
77  	{
78  		return this.delegate.shouldSelectCell(anEvent);
79  	}
80  
81  	/***
82  	 * @see javax.swing.CellEditor#stopCellEditing()
83  	 */
84  	public boolean stopCellEditing()
85  	{
86  		return this.delegate.stopCellEditing();
87  	}
88  
89  	/***
90  	 * @see javax.swing.CellEditor#addCellEditorListener(CellEditorListener)
91  	 */
92  	public void addCellEditorListener(final CellEditorListener l)
93  	{
94  		this.delegate.addCellEditorListener(l);
95  	}
96  
97  	/***
98  	 * @see javax.swing.CellEditor#removeCellEditorListener(CellEditorListener)
99  	 */
100 	public void removeCellEditorListener(final CellEditorListener l)
101 	{
102 		this.delegate.removeCellEditorListener(l);
103 	}
104 }