package nl.tudelft.simulation.introspection.mapping; import java.awt.Component; import java.util.EventObject; import javax.swing.DefaultCellEditor; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.event.CellEditorListener; import javax.swing.table.TableCellEditor; /** * The default editor. *

* copyright (c) 2002-2018 Delft University of Technology.
* BSD-style license. See DSOL License.
* @author Peter Jacobs. * @author Alexander Verbraeck. * @author Niels Lang. * @since 1.5 */ public class MyDefaultEditor implements TableCellEditor { /** the delegate. */ private TableCellEditor delegate = new DefaultCellEditor(new JTextField()); /** {@inheritDoc} */ @Override public Component getTableCellEditorComponent(final JTable table, final Object value, final boolean isSelected, final int row, final int column) { TableCellEditor editor = table.getDefaultEditor(value.getClass()); if (!(editor instanceof MyDefaultEditor)) { this.delegate = editor; } return this.delegate.getTableCellEditorComponent(table, value, isSelected, row, column); } /** {@inheritDoc} */ @Override public void cancelCellEditing() { this.delegate.cancelCellEditing(); } /** {@inheritDoc} */ @Override public Object getCellEditorValue() { return this.delegate.getCellEditorValue(); } /** {@inheritDoc} */ @Override public boolean isCellEditable(final EventObject anEvent) { return this.delegate.isCellEditable(anEvent); } /** {@inheritDoc} */ @Override public boolean shouldSelectCell(final EventObject anEvent) { return this.delegate.shouldSelectCell(anEvent); } /** {@inheritDoc} */ @Override public boolean stopCellEditing() { return this.delegate.stopCellEditing(); } /** {@inheritDoc} */ @Override public void addCellEditorListener(final CellEditorListener l) { this.delegate.addCellEditorListener(l); } /** {@inheritDoc} */ @Override public void removeCellEditorListener(final CellEditorListener l) { this.delegate.removeCellEditorListener(l); } }