Hallo Leute,
also entweder bin ich zu blöd, oder Java! (Bin ja geneigt ersteres zu gleuben, aber irgendwie...)
Ich möchte nichts weiter tun, als bei einem simplen JTable einen eigenen TableCellRenderer für alle Integer-Werte in der Tabelle festlegen.
Hier ein Beispiel, welches (bei mir) nicht funktioniert:
Eigentlich müssten doch jetzt alle Zellen mit meinem Renderer gerendert werden, oder? Werden sie jedenfalls nicht.
Hab's auch schon mit "java.lang.Integer.class" statt "int.class" versucht, hat aber auch nichts gebracht, obwohl dies die Klasse ist, die von "jTable1.getValueAt(0, 0).getClass()" zurückgeliefert wird.
Kann jemand helfen? Ich bin echt ganz schön genervt!
Danke schonmal im Vorraus!!!
SuperSeppel
also entweder bin ich zu blöd, oder Java! (Bin ja geneigt ersteres zu gleuben, aber irgendwie...)
Ich möchte nichts weiter tun, als bei einem simplen JTable einen eigenen TableCellRenderer für alle Integer-Werte in der Tabelle festlegen.
Hier ein Beispiel, welches (bei mir) nicht funktioniert:
Code:
String[] s = {new String("column1"), new String("column2"), new String("column3")};
TableModel model = new DefaultTableModel(s, 3);
model.setValueAt(1, 0, 0);
model.setValueAt(2, 0, 1);
model.setValueAt(3, 0, 2);
model.setValueAt(4, 1, 0);
model.setValueAt(5, 1, 1);
model.setValueAt(6, 1, 2);
model.setValueAt(7, 2, 0);
model.setValueAt(8, 2, 1);
model.setValueAt(9, 2, 2);
jTable1.setModel(model);
jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jTable1.setShowGrid(false);
jTable1.setDefaultRenderer(int.class, new TableCellRenderer() {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
JLabel label = new JLabel(value.toString());
label.setOpaque(true);
if(isSelected)
label.setBackground(Color.CYAN);
else
label.setBackground(jTable1.getBackground());
return label;
}
});
Hab's auch schon mit "java.lang.Integer.class" statt "int.class" versucht, hat aber auch nichts gebracht, obwohl dies die Klasse ist, die von "jTable1.getValueAt(0, 0).getClass()" zurückgeliefert wird.
Kann jemand helfen? Ich bin echt ganz schön genervt!
Danke schonmal im Vorraus!!!
SuperSeppel