Icons in einer Spalte darstellen

xadoX

Aktives Mitglied
Hab eine Tabelle mit folgendem Aussehen:

tabelle1.jpg


In der rechten Spalte möchte ich nach einer bestimmten erfolgreichen Funktion Haken oder ein Error Icon setzen.

Mein Code sieht wie folgt aus:

Klasse KeyIconCellRenderer

Java:
class KeyIconCellRenderer extends DefaultTableCellRenderer {   

    @Override
    public void setValue(Object value) {
        if (value instanceof Icon) {
            setIcon((Icon) value);
            setText("");
        } else {
            setIcon(null);
            super.setValue(value);
        }
    }
}

Dann in der Gui

Java:
jTableÜbertragung.getColumnModel().getColumn(4).setCellRenderer(new KeyIconCellRenderer());
jTableÜbertragung.setModel(aütm);

aütm ist ein selbsterstelltes TableModel mit folgendem Code:

Java:
public class ArtikelÜbertragungTableModel implements TableModel{
    private ArrayList<Artikel> liste;
    private ArrayList listeners;

    public ArtikelÜbertragungTableModel(){
        liste = new ArrayList<Artikel>();
        listeners = new ArrayList();
    }

    public int getRowCount() {
        if(liste ==null){
            return 0;
        }
        return liste.size();
    }

    public int getColumnCount() {
        return 5;
    }

    public String getColumnName(int columnIndex) {
        switch(columnIndex){
            case 0: return "OK";
            case 1: return "ID";
            case 2: return "Titel";
            case 3: return "Angebotstyp";
            case 4: return "Ergebnis";
            default: return null;
        }
    }

    public Class<?> getColumnClass(int columnIndex) {
        switch (columnIndex){
            case 0: return Boolean.class;
            case 1: return Integer.class;
            case 2: return String.class;
            case 3: return String.class;
            case 4: return Icon.class;
            default: return null;
        }
    }

    public boolean isCellEditable(int rowIndex, int columnIndex) {
        if(columnIndex == 0)
            return true;
        return false;
    }

    public Object getValueAt(int rowIndex, int columnIndex) {
        Artikel art = liste.get(rowIndex);
        switch(columnIndex){
            case 0: return art.isUebertragen();
            case 1: return art.getArtikelID();
            case 2: return art.getTitel();
            case 3: return art.getArtikelTyp();
            case 4: return null;
            default: return null;
        }
    }

    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
        Artikel art = (Artikel)liste.get(rowIndex);
        switch (columnIndex){
            case 0:
                art.setUebertragen(((Boolean)aValue).booleanValue());
                stillSelected();
                break;
        }
    }
 
    public void addTableModelListener(TableModelListener l) {
        listeners.add(l);
    }

    public void removeTableModelListener(TableModelListener l) {
        listeners.remove(l);
    }
    /**
     * Gibt den Index des uebergebenen Artikels in der Tabelle wieder
     * @param art
     * @return index vom Artikel in der Tabelle
     */
    public int getIndexOfArticle(Artikel art){
        int artID = art.getArtikelID();
        for (int i=0; i<liste.size(); i++){
            Artikel a = liste.get(i);
            if(a.getArtikelID() == artID){
                return i;
            }
        }
        return -1;
    }

Die Funktion welche jetzt Haken oder Error Icon zeichnen soll sieht wie folgt aus:

Java:
public void setNewStatus(Artikel art, boolean err) {
        if (err){
            jTableÜbertragung.setValueAt(error, aütm.getIndexOfArticle(art), 4);
        } else {
            jTableÜbertragung.setValueAt(haken, aütm.getIndexOfArticle(art), 4);
        }
        jTableÜbertragung.repaint();
    }

Leider werden beim Aufruf der Funktion setNewStatus keine Icons dargestellt, ohne jegliche Fehlermeldung.
 
Zuletzt bearbeitet:

xadoX

Aktives Mitglied
Also die Exception ist jetzt weg.
Hatte oben im Code nen kleinen Copy and Paste Fehler drin (Falschen Tabellennamen genutzt), der ist aber jetzt auch schon geändert.
Allerdings werden jetzt immer noch keine Icons dargestellt...

Ich vermute das es mit dem ArtikelÜbertragungTableModel zusammenhängt und zwar in der Funktion

Java:
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
        Artikel art = (Artikel)liste.get(rowIndex);
        switch (columnIndex){
            case 0:
                art.setUebertragen(((Boolean)aValue).booleanValue());
                stillSelected();
                break;            
        }
    }

Schließlich müsste ich dort einen case 4 einbauen. Ich wüßte allerdings nicht wie ich dort die Icons mit einbauen könnte.
 
Zuletzt bearbeitet:

xadoX

Aktives Mitglied
Ja, das wird wohl so sein. Aber was kann ich da jetzt hinsetzen?

Java:
case 4: return haken;

würde ja immer einen Haken zeichnen. Das ist aber nicht gewünscht.
 

Michael...

Top Contributor
Ja, das wird wohl so sein. Aber was kann ich da jetzt hinsetzen?

Java:
case 4: return haken;

würde ja immer einen Haken zeichnen. Das ist aber nicht gewünscht.
Verwalte Error oder Haken als Attribut des jeweilgen Artikels. Hängt ja schließlich an dem Objekt.
Wenn Du darin aber tatsächlich einer Referenz auf ein Icon speicherst benötigt man m.W. den extra Renderer nicht. Da sofern das TableModel Icon.class für die Spalte zurückgibt der DefaultRenderer weiss, was zu tun ist.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Dit_ Verschiedene Icons in einer JTable-Zelle AWT, Swing, JavaFX & SWT 2
M Mehrere Icons in einer JComponent AWT, Swing, JavaFX & SWT 5
MiMa Fonts, Icons, Bilder in JavaFX Anwendung AWT, Swing, JavaFX & SWT 5
thor_norsk Icons laden nicht in GUI AWT, Swing, JavaFX & SWT 15
I Einbindung eines jpg/png/icons in eine GUI AWT, Swing, JavaFX & SWT 1
ProggersWorld JavaFX Icons im TreeView werden nicht angezeigt AWT, Swing, JavaFX & SWT 1
VPChief Icons in 2 Jlabels Director nebeneinander anzeigen AWT, Swing, JavaFX & SWT 26
F Icons neben Text in Listview setzen AWT, Swing, JavaFX & SWT 2
A Jtabbed ein Reiter mit zwei icons AWT, Swing, JavaFX & SWT 4
B SWT TreeViewer dynamische Anzeige von Icons AWT, Swing, JavaFX & SWT 3
B Link eines Icons dynamisch gestalten AWT, Swing, JavaFX & SWT 2
JavaInBrain Swing JButton: Zuordnen von Icons AWT, Swing, JavaFX & SWT 4
T Swing Laden eines Icons auf JButton liefert NullPointerException AWT, Swing, JavaFX & SWT 8
T SWT Drag&Drop: Eclipse FileTransfer mit Icons AWT, Swing, JavaFX & SWT 14
P Liste mit Icons und mehreren Spalten AWT, Swing, JavaFX & SWT 7
NR_EIGHT Swing JButton zeigt Icons nicht an AWT, Swing, JavaFX & SWT 3
B "Alte" Swing ICONs gesucht AWT, Swing, JavaFX & SWT 2
S 2D-Grafik Icon in Image (System Icons) AWT, Swing, JavaFX & SWT 2
G Unterschiedliche Pfadangabe zu Icons zwischen JApplet und JWindow? AWT, Swing, JavaFX & SWT 2
B Standard Icons wo findet man diese? AWT, Swing, JavaFX & SWT 20
N Button soll die Größ eines Icons haben AWT, Swing, JavaFX & SWT 5
G Swing Icons von JLabel zur Laufzeit ändern AWT, Swing, JavaFX & SWT 3
sylo Position des Icons bei JMenuItem AWT, Swing, JavaFX & SWT 11
L Swing Bilder im Icons-Ordner AWT, Swing, JavaFX & SWT 4
T Swing Icons mit Transparentz... AWT, Swing, JavaFX & SWT 12
L Wieso werden die Icons nicht dargestellt? AWT, Swing, JavaFX & SWT 2
M Icons in Jar AWT, Swing, JavaFX & SWT 3
T Icons in jar AWT, Swing, JavaFX & SWT 17
A JLabel, Icons und GridLayout AWT, Swing, JavaFX & SWT 3
S JTree rendern der Knoten [+] und [-], nicht der Node Icons AWT, Swing, JavaFX & SWT 2
G Icons verkleinern AWT, Swing, JavaFX & SWT 4
M icons für die java.swing components wie jbutton etc AWT, Swing, JavaFX & SWT 5
G Verhindern, das AbstractAction Text und Icons überschreibt? AWT, Swing, JavaFX & SWT 3
DeeDee0815 SWT-Buttons, Icons und die Win32-API AWT, Swing, JavaFX & SWT 3
T Standard Icons AWT, Swing, JavaFX & SWT 7
G Wo finde ich Icons zum runterladen AWT, Swing, JavaFX & SWT 3
S JTable mit Icons in DB speichern AWT, Swing, JavaFX & SWT 10
S Hochauflösende ICONS für Lebensmittel? AWT, Swing, JavaFX & SWT 7
J Icons ueber getRessource lesen AWT, Swing, JavaFX & SWT 5
S JButton auf verkleiner auf größe eines Icons AWT, Swing, JavaFX & SWT 5
A Icons von Kontextmenüeinträgen verschwinden (SWT) AWT, Swing, JavaFX & SWT 2
D Komponenten mit zusätzlichen Icons AWT, Swing, JavaFX & SWT 2
F 2 icons in jtabbedpane, links und rechts von label AWT, Swing, JavaFX & SWT 2
P JMenu / JMenuItem durch Rekursion Icons entfernen AWT, Swing, JavaFX & SWT 4
B PNG-Icons in Toolbar einbinden AWT, Swing, JavaFX & SWT 3
C Icons und Bilder in der JAR AWT, Swing, JavaFX & SWT 9
S Multiselektieren von Icons AWT, Swing, JavaFX & SWT 5
R JTree ohne visible Root aber mit Icons ? AWT, Swing, JavaFX & SWT 2
F Icons des JTrees austauschen AWT, Swing, JavaFX & SWT 2
G JTabel und Icons AWT, Swing, JavaFX & SWT 9
Q CloseAndMaxTabbedPane Icons werden nicht angezeigt AWT, Swing, JavaFX & SWT 4
M Java Datei Icons AWT, Swing, JavaFX & SWT 2
M Windows file icons in Java verwenden AWT, Swing, JavaFX & SWT 2
S JAR -> Icons werden nicht mehr angezeigt AWT, Swing, JavaFX & SWT 11
K icons sauber anzeigen (an hintergrund angepasst) AWT, Swing, JavaFX & SWT 4
Z Problem mit Icons in JTable AWT, Swing, JavaFX & SWT 3
R SWT: Icons im Table vor den Einträgen AWT, Swing, JavaFX & SWT 3
D Auf System-Icons wie die aus JOptionPane zugreifen? AWT, Swing, JavaFX & SWT 6
Hotkey Freie Icons für Anwendung mit Java Look&Feel AWT, Swing, JavaFX & SWT 4
S JTree // Icons AWT, Swing, JavaFX & SWT 2
S [JTree] Icons ohne DefaultTreeCellRenderer AWT, Swing, JavaFX & SWT 6
J Icons mit Text als Menü AWT, Swing, JavaFX & SWT 2
F SkinLF - GTK Icons werden nicht genutz - KDE schon - why? AWT, Swing, JavaFX & SWT 8
F JTree mit anderen Icons AWT, Swing, JavaFX & SWT 7
W Websites mit freien Icons AWT, Swing, JavaFX & SWT 4
G Warum gehen meine Icons/Images nicht weg? AWT, Swing, JavaFX & SWT 2
I Icons in JLists AWT, Swing, JavaFX & SWT 2
G Icons in CTabFolder AWT, Swing, JavaFX & SWT 3
L Buttons und Icons AWT, Swing, JavaFX & SWT 2
W JRadioButtonMenuItem (Icons) AWT, Swing, JavaFX & SWT 13
Z Problemen mit Icons? AWT, Swing, JavaFX & SWT 5
G Overlay-Icons über JTextField AWT, Swing, JavaFX & SWT 5
A Icons und Bilder bei EXE-Datei nicht da AWT, Swing, JavaFX & SWT 5
S JTree Datei Icons ? AWT, Swing, JavaFX & SWT 28
M icons im menubar ? AWT, Swing, JavaFX & SWT 5
G standard system icons AWT, Swing, JavaFX & SWT 1
MiMa Optimieren einer Methode zum Zentrieren von Fenstern AWT, Swing, JavaFX & SWT 0
T VerifyListener - Ersetzen einer 0 AWT, Swing, JavaFX & SWT 5
I JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung? AWT, Swing, JavaFX & SWT 6
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
N Dropshadow setzen bei einer Gruppe von Tiles, die sich jeweils in einer Stackpane befinden, welche in einer Gridpane angeordnet sind. AWT, Swing, JavaFX & SWT 0
M Daten zufällig Einlesen aus einer Datei (binäres Format) AWT, Swing, JavaFX & SWT 7
ExceptionOfExpectation Mit einer laufenden GUI Applikation eine Datei in dem Rechner löschen AWT, Swing, JavaFX & SWT 2
Jose05 Aus einer normalen Java Klasse eine FXML-Klasse laden AWT, Swing, JavaFX & SWT 12
Linjutsu Den Inhalten aus einer ArrayList Bilder zuweisen (Kartenspiel) AWT, Swing, JavaFX & SWT 8
H JavaFX Timeline II: Verschieben einer ImageView AWT, Swing, JavaFX & SWT 16
I Hilfe bei dem Erstellen einer SQL Abfrage aus gewählten JComboBoxen AWT, Swing, JavaFX & SWT 5
L Swing TextPanel Schrift untereinander und auf einer Höhe AWT, Swing, JavaFX & SWT 3
mananana Mögliche probleme die in einer GUI passieren Können AWT, Swing, JavaFX & SWT 6
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
Ernesto95 JavaFX Return Value nach Beendigung einer Animation AWT, Swing, JavaFX & SWT 15
melaniemueller Wortliste in einer Datei ablegen AWT, Swing, JavaFX & SWT 12
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
Jose05 JavaFx Fxml: GUI aus einer anderen Klasse starten AWT, Swing, JavaFX & SWT 1
U Was genau ist das Objekt einer affinentransformation? AWT, Swing, JavaFX & SWT 1
B JavaFX Prüfen ob ein Objekt sich mehrmals in einer Liste befindet AWT, Swing, JavaFX & SWT 5
mac2010 JavaFX Einbindung einer Karte AWT, Swing, JavaFX & SWT 1
donnico2 Objekte in der GUI ausgeben mit Hilfe einer DAO AWT, Swing, JavaFX & SWT 1
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
W Aufrufen einer bestimmten Scene mit if-Bedingung AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben