Hallo Forum,
ich möchte eine Tabelle farblich etwas aufpeppen. Dazu habe ich TableCellRenderer implementiert und die Methode getTableCellRendererComponent entsprechend angepasst.
Leider wirken sich die Änderungen nur auf Zellen aus, welche vom Typ String sind und das obwohl ich auf alle Datentypen (ich habe jedoch auch Double, Integer und Date Spalten in meiner Tabelle) geachtet habe. Ich sehe in meinem Code keinen Fehler, aber vielleicht habe ich die Anwendung falsch verstanden.
Wäre super wenn ihr mir ein paar Tipps geben könntet. Hier die Methode: (Lacht nicht über die If-Else, dass hat mir das AutoFormat von Netbeans so herausgegeben)
ich möchte eine Tabelle farblich etwas aufpeppen. Dazu habe ich TableCellRenderer implementiert und die Methode getTableCellRendererComponent entsprechend angepasst.
Leider wirken sich die Änderungen nur auf Zellen aus, welche vom Typ String sind und das obwohl ich auf alle Datentypen (ich habe jedoch auch Double, Integer und Date Spalten in meiner Tabelle) geachtet habe. Ich sehe in meinem Code keinen Fehler, aber vielleicht habe ich die Anwendung falsch verstanden.
Wäre super wenn ihr mir ein paar Tipps geben könntet. Hier die Methode: (Lacht nicht über die If-Else, dass hat mir das AutoFormat von Netbeans so herausgegeben)
Code:
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column)
{
JLabel label = null;
if (value instanceof String)
{
label = new JLabel((String) value);
}
else
{
if (value instanceof Double)
{
label = new JLabel(((Double) value).toString());
}
else
{
if (value instanceof Integer)
{
label = new JLabel(((Integer) value).toString());
}
else
{
if (value instanceof Date)
{
label = new JLabel(((Date) value).toString());
}
}
}
}
label.setOpaque(true);
label.setBorder( BorderFactory.createEmptyBorder(1, 1, 1, 1) );
label.setFont(table.getFont());
label.setForeground(table.getForeground());
label.setBackground(new Color(255, 150, 0));
label.setToolTipText("ich bin ein tipp");
return label;
}