Bild in JTable einfügen

=fire=

Erfahrenes Mitglied
Hallo,

ich versuche zur Zeit etwas Java zu lernen. Ich habe vor ein kleines Verwaltungsprogramm zu bauen (hinzufügen, bearbeiten, löschen). Die Daten sollen aus einer Datenbank kommen. Das klappt auch schon.
Ich möchte nun aber ein icon bspw.
icon-11-answers.png
in die letzte Spalte setzen, mit der man den Eintrag ändern kann. Ich benutze JTable, weiß aber nicht wie ich das Bild dort ergänzen und verlinken kann.

Bitte um Hilfe, Danke!
 
Hallo Firesimon,

wenn du ein JLabel nutzt reicht

JLabel label;
label.setIcon(new ImageIcon("images/ichBinEinImage.gif"));

Grüße
 
Hallo Firesimon,
die ausformulierte Lösung^^: Baue dir einfach einen eigenen CellRenderer.

Java:
JTable table = new JTable(/*Daten*/);
table.getColumnModel().getColumn(2).setCellRenderer(new MyRenderer()); //hier die Spaltennummer für den Renderer setzen. 2 bedeutet, MyRenderer (der das Icon zeichnet) für die 3. Spalte (0 => 1. Spalte)

und der Renderer:
Java:
class MyRenderer extends DefaultTableCellRenderer implements TableCellRenderer
{
	@Override
	public Component getTableCellRendererComponent(JTable table, Object value,
			boolean isSelected, boolean hasFocus, int row, int column)
	{
		setIcon(new ImageIcon(/*Dateipfad*/));
		//***
		return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
	}
}
Gruß kevin

edit:
Soll das Icon rechts neben dem Text stehen, einfach an Stelle //*** Folgendes einfügen:
Java:
setHorizontalTextPosition(JLabel.LEFT);
 
Zuletzt bearbeitet:
Zurück