所以我一直在試圖從教程中使用的例子,並改變它,所以它適合我的節目。 的getColumnValue方法返回認爲是應該顯示的信息的對象。這是要走還是應該返回實際的字符串顯示。我想不是因爲那樣我纔會將演示文稿與我試圖避免的數據混合在一起。如何使用CellRenderer for GregorianCalendar?
public class IssueTableFormat implements TableFormat<Appointment> {
public int getColumnCount() {
return 6;
}
public String getColumnName(int column) {
if(column == 0) return "Datum";
else if(column == 1) return "Uhrzeit";
else if(column == 2) return "Nummer";
else if(column == 3) return "Name";
else if(column == 4) return "letzte Aktion";
else if(column == 5) return "Kommentar";
throw new IllegalStateException();
}
public Object getColumnValue(Appointment issue, int column) {
if(column == 0) return issue.getDate();
else if(column == 1) return issue.getDate();
else if(column == 2) return issue.getSample();
else if(column == 3) return issue.getSample();
else if(column == 4) return issue.getHistory();
else if(column == 5) return issue.getComment();
throw new IllegalStateException();
}
}
列0和1包含GregorianCalendar對象,但我希望列0顯示日期和1以顯示時間。
所以我知道用cellRenderers有助於解決這個問題。
這就是我試過的。
public class DateRenderer extends DefaultTableCellRenderer {
public DateRenderer() { super(); }
public void setValue(Object value) {
GregorianCalendar g =(GregorianCalendar) value;
value=g.get(GregorianCalendar.HOUR);
}
}
但單元格不顯示任何東西,這裏有什麼問題?
好吧,但是當我有方法來返回應該顯示的實際值時,我被告知不要混合數據和表示。 – HansDampf 2010-05-06 13:21:05