JDateChooser

matthias(:

Mitglied
Ich habe einen CellEditor geschrieben und jetzt im main mit
Code:
table.setCellEditor(new JDateChooserCellEditor());
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:
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;
    }
}
 

AlexSpritze

Bekanntes Mitglied
Hast du schon debugged? Oder wenigstens ein paar Log-Ausgaben in den Code geschreiben, dass du siehst, wo die Ausführung des Programms überall lang geht?
 

Dekker

Bekanntes Mitglied
Hast du die Felder auch mal angeklickt? Sieht man das teil wenn du das entsprechende Feld angeklickt hast?

Damit du den Choose auch siehst wenn du nicht nur das Feldeditierst, musst du auch einen Cellrenderer selbst schreiben.
 

Ähnliche Java Themen

Neue Themen


Oben