Hi,
hab ne tabelle in der ich per button die hintergrundfarbe einer zelle ändern kann. wenn ich das tue, dann wird der inhalt der zelle überschrieben.
Bsp.: wenn ich der zelle "welt" nen roten hintergrund geben will wird aus:
wird
aber wenigsten stimmt die hinterfrundfarbe. :wink:
mal n bisl code ...
mein renderer
die tabelle (2d-array) :
Dankö schööön,
T1M
hab ne tabelle in der ich per button die hintergrundfarbe einer zelle ändern kann. wenn ich das tue, dann wird der inhalt der zelle überschrieben.
Bsp.: wenn ich der zelle "welt" nen roten hintergrund geben will wird aus:
Code:
|-----------|-------------|
| Hallo | Welt |
|-----------|-------------|
Code:
|-----------|-------------|
| Hallo | Hallo |
|-----------|-------------|
mal n bisl code ...
mein renderer
Code:
class ColorTableCellRenderer extends DefaultTableCellRenderer
{
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected,
boolean hasFocus, int row,
int column)
{
/* super.getTableCellRendererComponent(table, value, isSelected,
hasFocus, row, column);*/
System.out.println("row: "+row+" column: "+column);
System.out.println("#### Value: "+ value.toString());
System.out.println("Klasse: " + value.getClass());
if (value instanceof Color)
{
System.out.println("###Value1: "+ value);
Color color = (Color)value;
System.out.println("row: "+row+" column: "+column);
this.setBackground(color);
//setText(color == null ? "" : color.getRed() + ", " + color.getBlue() + ", "
// + color.getGreen());
}
else
{
super.getTableCellRendererComponent(table, value, isSelected,
hasFocus, row, column);
setBackground(table.getBackground());
}
return this;
}
}
die tabelle (2d-array) :
Code:
table = new JTable(data, columnNames)
{
public Class getColumnClass(int i)
{
switch (i)
{
case 0: return Color.class;
case 1: return Color.class;
case 2: return Color.class;
case 3: return Color.class;
case 4: return Color.class;
default: return String.class;
}
}
};
T1M