/***************************************************
*
* cismet GmbH, Saarbruecken, Germany
*
* ... and it just works.
*
****************************************************/
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package de.cismet.cismap.commons.gui.attributetable;
import org.jdesktop.swingx.JXDatePicker;
import java.awt.Component;
import java.util.Date;
import javax.swing.AbstractCellEditor;
import javax.swing.JTable;
import javax.swing.table.TableCellEditor;
/**
* DOCUMENT ME!
*
* @author therter
* @version $Revision$, $Date$
*/
public class DateCellEditor extends AbstractCellEditor implements TableCellEditor {
//~ Instance fields --------------------------------------------------------
private JXDatePicker datePicker;
private boolean useSqlDate = true;
//~ Constructors -----------------------------------------------------------
/**
* Creates a new DateCellEditor object.
*/
public DateCellEditor() {
datePicker = new JXDatePicker();
}
//~ Methods ----------------------------------------------------------------
@Override
public Object getCellEditorValue() {
if (useSqlDate) {
return new java.sql.Date(datePicker.getDate().getTime());
} else {
return datePicker.getDate();
}
}
@Override
public Component getTableCellEditorComponent(final JTable table,
final Object value,
final boolean isSelected,
final int row,
final int column) {
if (value instanceof Date) {
useSqlDate = false;
datePicker.setDate((Date)value);
}
if (value instanceof java.sql.Date) {
useSqlDate = true;
final java.sql.Date date = (java.sql.Date)value;
datePicker.setDate(new Date(date.getTime()));
}
return datePicker;
}
}