JTable und TableCellRenderer + selektieren

Status
Nicht offen für weitere Antworten.

letdoch

Aktives Mitglied
Hi ich habe ein dummes Problem und finde einfach keine Lösung.

Ich habe eine Tablle, mit einer Spalte und x-Zeilen. Ich muss in der Lage sein, eine Zeile anzuklicken, sprich zu selecten um dann darauf folgend eine Aktion durchzuführen. Das ganze funktioniert auch sahnig, wenn ich den DefaultRenderer benutze. Sobald ich meinen eigenen TableCellRenderer nutze, kann ich nichts mir selektieren.

Ich brauche einen eigenen TableCellRenderer, weil ich durch ihn die Eigenschaften einer JTextArea erhalte. Vielleicht weiß jemand eine Lösung

Quellcode:
Code:
public class TableRenderer extends JTextArea implements TableCellRenderer{
    
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column){
        this.setWrapStyleWord(true);
        this.setLineWrap(true);
        this.setText((String)value);
        return this;
    }
 
Sobald ich meinen eigenen TableCellRenderer nutze, kann ich nichts mir selektieren.
Falsch, die selektierte Zelle wird nicht mehr als selektiert dargestellt.

Entweder Du übernimmst in Deinem Renderer das Markieren selbst
oder statt TableCellRenderer zu implementieren erweiterst Du DefaultTableCellRenderer da kannst Du dann super.getTableCellRendererComponent(...) aufrufen und die Eigenschaften (Border, Foreground, Background...) auf Dein TextArea übertragen.
 
Falsch, die selektierte Zelle wird nicht mehr als selektiert dargestellt.

Entweder Du übernimmst in Deinem Renderer das Markieren selbst
oder statt TableCellRenderer zu implementieren erweiterst Du DefaultTableCellRenderer da kannst Du dann super.getTableCellRendererComponent(...) aufrufen und die Eigenschaften (Border, Foreground, Background...) auf Dein TextArea übertragen.

Ja naja, ich habe einige Methode, die mir anzeigen, welche Row selektiert wurde...die funzen auch eins a mit dem DefaultRenderer, nur halt nicht mehr mit dem eigenen. Das kann doch eigentlich nichts mit der Farbe zu tun haben oder?
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben