Hallo Leute, ich habe ein nerviges Problem:
Ich möchte den Standard-Hintergrund einer JTable von weiss/grau in z.B. weiss/rot ändern.
Dazu verwende ich folgende Klasse:
Den neuen Renderer übergebe ich dann mittels
an die Tabelle.
Die Zellfarbe der selektierten Zellen kann ich ändern, die Schriftfarbe ebenfalls, die Hintegrundfarbe bleibt allerdings weiss, egal was für Farben ich festlege
Woran kann das liegen?
Ich programmiere in Netbeans und die Tabelle liegt in einem jScrollPane, vllt. hat das noch irgendwelche Auswirkungen...
Danke!
Ich möchte den Standard-Hintergrund einer JTable von weiss/grau in z.B. weiss/rot ändern.
Dazu verwende ich folgende Klasse:
Java:
import java.awt.Color;
import java.awt.Component;
import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableModel;
public class MyRenderer extends JLabel implements TableCellRenderer {
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column) {
TableModel model = table.getModel();
setBackground(row%2==0 ? Color.red : Color.BLACK);
setForeground(Color.GREEN);
setText((value != null)?value.toString():"");
if (isSelected) {
setBorder(BorderFactory.createLineBorder(Color.BLACK));
}else {
setBorder(BorderFactory.createLineBorder(table.getBackground()));
}
return this;
}
}
Den neuen Renderer übergebe ich dann mittels
Java:
jTable2.setDefaultRenderer(Object.class, new MyRenderer());
Die Zellfarbe der selektierten Zellen kann ich ändern, die Schriftfarbe ebenfalls, die Hintegrundfarbe bleibt allerdings weiss, egal was für Farben ich festlege
Woran kann das liegen?
Ich programmiere in Netbeans und die Tabelle liegt in einem jScrollPane, vllt. hat das noch irgendwelche Auswirkungen...
Danke!