Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Bild in JTable anzeigen(Dynamisch)

  1. #1
    Registrierter Benutzer
    Registriert seit
    28.01.2007
    Beiträge
    27

    Bild in JTable anzeigen(Dynamisch)

    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.

  2. #2
    Registrierter Benutzer
    Registriert seit
    12.12.2007
    Beiträge
    15
    Hallo,

    könntest du vielleicht den Code deines Renderers posten?

    Danke.

    MFG

    zEriX
    Was ist die längste Zeitspanne in der Informatik?
    Mal gerade eben

  3. #3
    Registrierter Benutzer
    Registriert seit
    07.05.2003
    Beiträge
    127
    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

  4. #4
    Registrierter Benutzer
    Registriert seit
    28.01.2007
    Beiträge
    27
    Sry. War im Urlaub.
    Hier nun der CellRenderer.
    Code:
    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?

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •