Class DateTimeTableEditor
java.lang.Object
javax.swing.AbstractCellEditor
com.github.lgooddatepicker.tableeditors.DateTimeTableEditor
- All Implemented Interfaces:
Serializable
,CellEditor
,TableCellEditor
,TableCellRenderer
public class DateTimeTableEditor
extends AbstractCellEditor
implements TableCellEditor, TableCellRenderer
DateTimeTableEditor, This class is used to add a DateTimePicker to cells (or entire columns) of a
Swing JTable or a SwingX JXTable component. This class can be used as a table cell "Editor", or
as a "Renderer", or as both editor and renderer. Separate class instances should be used for the
editor and the renderer.
// Usage example:
// Create a table.
JTable table = new JTable();
//Set up a renderer and editor for the LocalDateTime type.
table.setDefaultRenderer(LocalDateTime.class, new DateTimeTableEditor());
table.setDefaultEditor(LocalDateTime.class, new DateTimeTableEditor());
The DateTimePicker and Settings: The DateTimePicker and picker settings can be accessed with the
supplied getter functions. Note that most of the settings for the DateTimePicker are left at
their default values, but a few (mostly cosmetic) settings are changed in the DateTimeTableEditor
constructor. See the DateTimeTableEditor constructor implementation to learn which default
settings were changed.
Auto adjust row height: By default, this class will automatically adjust the minimum height of
all table rows. This occurs during the first time that any cell with an editor or render is
displayed. The row height is only adjusted if the current table row height value is below the
minimum value that is needed to display the DateTimePicker component. This auto adjust behavior
can be turned off from the constructor.- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionint
clickCountToEdit, An integer specifying the number of clicks needed to start editing.Fields inherited from class javax.swing.AbstractCellEditor
changeEvent, listenerList
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor, default.DateTimeTableEditor
(boolean autoAdjustMinimumTableRowHeight, boolean matchTableBackgroundColor, boolean matchTableSelectionBackgroundColor) Constructor, with options. -
Method Summary
Modifier and TypeMethodDescriptiongetCellEditorValue, This returns the value contained in the editor.getDatePickerSettings, Returns the DatePicker settings for the DateTimePicker used by this class.getDateTimePicker, Returns the DateTimePicker which is used by this class.getTableCellEditorComponent
(JTable table, Object value, boolean isSelected, int row, int column) getTableCellEditorComponent, this returns the editor that is used for editing the cell.getTableCellRendererComponent
(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) getTableCellRendererComponent, Returns the renderer that is used for drawing the cell.getTimePickerSettings, Returns the TimePicker settings for the DateTimePicker used by this class.boolean
isCellEditable
(EventObject anEvent) isCellEditable, Returns true if anEvent is not a MouseEvent.void
setCellEditorValue
(Object value) setCellEditorValue, This sets the picker to an appropriate value for the supplied object.Methods inherited from class javax.swing.AbstractCellEditor
addCellEditorListener, cancelCellEditing, fireEditingCanceled, fireEditingStopped, getCellEditorListeners, removeCellEditorListener, shouldSelectCell, stopCellEditing
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface javax.swing.CellEditor
addCellEditorListener, cancelCellEditing, removeCellEditorListener, shouldSelectCell, stopCellEditing
-
Field Details
-
clickCountToEdit
public int clickCountToEditclickCountToEdit, An integer specifying the number of clicks needed to start editing. Even if clickCountToEdit is defined as zero, it will not initiate until a click occurs.
-
-
Constructor Details
-
DateTimeTableEditor
public DateTimeTableEditor()Constructor, default. -
DateTimeTableEditor
public DateTimeTableEditor(boolean autoAdjustMinimumTableRowHeight, boolean matchTableBackgroundColor, boolean matchTableSelectionBackgroundColor) Constructor, with options.- Parameters:
autoAdjustMinimumTableRowHeight
- Set this to true to have this class automatically adjust the the minimum row height of all rows in the table, the first time that a DateTimeTableEditor is displayed. Set this to false to turn off any row height adjustments. The default value is true.
-
-
Method Details
-
getCellEditorValue
getCellEditorValue, This returns the value contained in the editor. This is required by the CellEditor interface.- Specified by:
getCellEditorValue
in interfaceCellEditor
-
getDateTimePicker
getDateTimePicker, Returns the DateTimePicker which is used by this class. -
getDatePickerSettings
getDatePickerSettings, Returns the DatePicker settings for the DateTimePicker used by this class. These settings can be adjusted as desired by the programmer. -
getTimePickerSettings
getTimePickerSettings, Returns the TimePicker settings for the DateTimePicker used by this class. These settings can be adjusted as desired by the programmer. -
getTableCellEditorComponent
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) getTableCellEditorComponent, this returns the editor that is used for editing the cell. This is required by the TableCellEditor interface. For additional details, see the Javadocs for the function: TableCellEditor.getTableCellEditorComponent().- Specified by:
getTableCellEditorComponent
in interfaceTableCellEditor
-
getTableCellRendererComponent
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) getTableCellRendererComponent, Returns the renderer that is used for drawing the cell. This is required by the TableCellRenderer interface. For additional details, see the Javadocs for the function: TableCellRenderer.getTableCellRendererComponent().- Specified by:
getTableCellRendererComponent
in interfaceTableCellRenderer
-
isCellEditable
isCellEditable, Returns true if anEvent is not a MouseEvent. Otherwise, it returns true if the necessary number of clicks have occurred, and returns false otherwise.- Specified by:
isCellEditable
in interfaceCellEditor
- Overrides:
isCellEditable
in classAbstractCellEditor
-
setCellEditorValue
setCellEditorValue, This sets the picker to an appropriate value for the supplied object. If the value is null, then picker will be cleared. If the value is a LocalDateTime instance, then the picker will be set to that value. All other types (including strings) will be read or converted to a string with a maximum length of the first 100 characters. The date picker text will be set with the resulting string.
-