Hey Leute,
ich habe eine JTable und habe für eine der Spalten einen eigenen Renderer geschrieben.
Ich benutze diesen Renderer für die Spalte, die mit GregorianCalendar arbeitet (Die 1. nämlich Datum)
Wenn ich jetzt aber meinen Table anzeigen lasse, so ist keine Formatierung passiert. Mir ist aufgefallen, dass die überschriebene setValue() -Methode nie aufgerufen wird.
Wo ist hier das Problem?
Gruß Basti
ich habe eine JTable und habe für eine der Spalten einen eigenen Renderer geschrieben.
Java:
public class GregorianCalendarRenderer extends DefaultTableCellRenderer {
public GregorianCalendarRenderer() {
super();
}
@Override
public void setValue(Object value) {
setText((value == null) ? "" : getFormattedValue(value));
System.out.println(getFormattedValue(value));
}
private String getFormattedValue(Object value) {
if (value instanceof GregorianCalendar) {
GregorianCalendar gc = (GregorianCalendar) value;
return gc.get(GregorianCalendar.DAY_OF_MONTH)
+ "."
+ gc.get(GregorianCalendar.MONTH)
+ "."
+ String.valueOf(gc.get(GregorianCalendar.YEAR)).substring(
2);
} else
return "";
}
}
Ich benutze diesen Renderer für die Spalte, die mit GregorianCalendar arbeitet (Die 1. nämlich Datum)
Java:
TableColumnModel colModel = table.getColumnModel();
colModel.getColumn(0).setCellRenderer(new GregorianCalendarRenderer());
Wenn ich jetzt aber meinen Table anzeigen lasse, so ist keine Formatierung passiert. Mir ist aufgefallen, dass die überschriebene setValue() -Methode nie aufgerufen wird.
Wo ist hier das Problem?
Gruß Basti