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 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 }