Hallo
Ich möchte ein ImageIcon bzw. ein Bild in eine Zelle meiner JTable einfügen.
Problem: Wenn ich den CellRenderer benutze wird die ganze Spalte mit dem Bild ausgefüllt und ich kann mit setValueAt kein ImageIcon an eine bestimmte Zelle setzen.
Vermutung: Es liegt vielleicht am DefaultTableModel,da es weniger Übergabeparameter hat...
Frage: Wie setze ich ein Bild in eine bestimmte Zelle mit setValueAt ohne ,dass der CellRenderer die gesamte Spalte zuvor mit dem Bild füllt ?
Ich möchte ein ImageIcon bzw. ein Bild in eine Zelle meiner JTable einfügen.
Problem: Wenn ich den CellRenderer benutze wird die ganze Spalte mit dem Bild ausgefüllt und ich kann mit setValueAt kein ImageIcon an eine bestimmte Zelle setzen.
Vermutung: Es liegt vielleicht am DefaultTableModel,da es weniger Übergabeparameter hat...
Frage: Wie setze ich ein Bild in eine bestimmte Zelle mit setValueAt ohne ,dass der CellRenderer die gesamte Spalte zuvor mit dem Bild füllt ?
Java:
ImageIcon icon22 = new ImageIcon(getClass().getResource("bild.jpg"));
jTable1.getColumnModel().getColumn(1).setCellRenderer(new IconTableCellRenderer());
model2.setValueAt(icon22, 0, 1); // funktioniert nicht ;(
class IconTableCellRenderer extends DefaultTableCellRenderer
{
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column)
{
JLabel label = (JLabel)super.getTableCellRendererComponent(
table, value, isSelected, hasFocus, row, column
);
if (value instanceof ImageIcon)
{
label.setText(null);
label.setIcon((ImageIcon)value);
}
return label;
}
}
Zuletzt bearbeitet: