PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bild in JTable anzeigen(Dynamisch)



eule
18-02-2008, 20:38
Guten Abend

Ich hab ein JTable erstellt und füge dort Zeilenweise Daten ein. Die Daten in einer Zeile gehören zusammen. Pro Zeile soll es ein Bild geben, was je nach Status einer Boolean wechselt. Weiß einer wie ich das dynamisch hinbekommen kann?
Ich habe es geschafft mit einem CellRenderer in alle Spalten ein Bild einzufügen. Aber wie ich es von einer Zelle wechseln kann weiß ich nicht.
Bin mal wieder für jede Hilfe dankbar.

zerix
22-02-2008, 09:24
Hallo,

könntest du vielleicht den Code deines Renderers posten?

Danke.

MFG

zEriX

mamue
27-02-2008, 07:10
Ich hab's nicht auswendig drauf, aber wenn Du ein ImageIcon verwendest (JImageIcon) und einen Listener auf dem TableModel hast, solltest Du eigentlich Bescheid bekommen, wenn der Anwender einen Haken gesetzt hat. Das Image in dem korrespondierenden ImageIcon zu setzen, geht recht einfach. Eventuell ist ein repaint nötig, ich meine mich aber zu entsinnen, dass das JImageIcon das selber macht.

HTH,
mamue

eule
27-02-2008, 09:32
Sry. War im Urlaub.
Hier nun der CellRenderer.

public class CellRenderer_OpenBrowser extends DefaultTableCellRenderer
{
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus,
int row, int column)
{
ImageIcon icon = new ImageIcon((URL)getClass().getResource("Icons/cell_arrow_small.png"));
setText((String)value);
setIcon(icon);
return this;
}
}


Den habe ich dann der 1. Spalte zugewiesen. Wenn ich jetzt in einer Zeile in der 2. Spalte einen Hacken setze, dann soll sich nur die eine Zelle in der 1. Spalte ändern. Ich bekomm es einfach nicht hin.

@mamue: Kannst du mal ein Beispielcode schreiben?