Ich habe einen CellEditor geschrieben und jetzt im main mit
zugewiesen
Jetzt sollte doch eigentlich in der der 6 Spalte überall ein DateChooser sein wo man das Datum auswählen kann oder? Es funktioniert nicht, es erscheint kein DateChooser. Ich verwende den JDateChooser von toedter.
Code:
table.setCellEditor(new JDateChooserCellEditor());
Jetzt sollte doch eigentlich in der der 6 Spalte überall ein DateChooser sein wo man das Datum auswählen kann oder? Es funktioniert nicht, es erscheint kein DateChooser. Ich verwende den JDateChooser von toedter.
Code:
package hausuebung_3;
import com.toedter.calendar.JDateChooser;
import java.awt.Component;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.Date;
import javax.swing.AbstractCellEditor;
import javax.swing.JTable;
import javax.swing.table.TableCellEditor;
public class JDateChooserCellEditor extends AbstractCellEditor implements
TableCellEditor {
private JDateChooser dateChooser;
public JDateChooserCellEditor() {
dateChooser = new JDateChooser();
dateChooser.addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getPropertyName().equals("date")) {
Date old = (Date) evt.getOldValue();
Date neu = (Date) evt.getNewValue();
if (old == null) {
return;
}
fireEditingStopped();
}
}
});
}
@Override
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int col) {
Date date = null;
if (col == 5) {
date = (Date) value;
}
dateChooser.setDate(date);
return dateChooser;
}
@Override
public Object getCellEditorValue() {
String datum = "";
try {
datum = dateChooser.getDate().toString();
} catch (Exception e) {
System.out.println("Fehler");
}
return datum;
}
}