JButtons in JTable anzeigen

  • Themenstarter Themenstarter hallojavaforum
  • Beginndatum Beginndatum
H

hallojavaforum

Gast
Hallo,

ich habe folgendes Problem:

Eine Tabelle mit 2 Spalten und 2 Zeilen. Die erste Spalte beinhaltet nur Text. Die Zweite beinhaltet Buttons. Der obere Button soll sichtbar sein und der untere nicht.

Und wenn man auf den unsichtbaren Button klickt soll nichts passieren.

Ich habs hin bekommen die Buttons auf enable=true zu setzen. Das wär auch ok. Allerdings wenn ich auf so einen Button klicke sieht der Button so aus als hätte ich auf einen Button geklickt der nicht disabled ist. Es sieht so aus asl wäre eine Aktion möglich!

Kann mir jemand helfen?
 
Der obere Button soll sichtbar sein und der untere nicht.

Und wenn man auf den unsichtbaren Button klickt soll nichts passieren.


Du hast also einen unsichtbaren Button, bei dem nichts passieren soll wenn man auf ihn klickt, dann frage ich mich: Wieso hast du dann da überhaupt einen Button, denn eig. hast du ja dann irgendwie doch keinen 😀 Frage wäre also: Wieso fügst du da überhaupt einen Button hinzu ? ???:L :autsch:
 
Der wird dynamisch sichtbar bzw. unsichtbar gemacht. Ist hier auch egal. Geht mir nur darum wie das geht.
 
Das problem ist das an jeder Zelle in einer Spalte der gleiche CellEditor hängt. Ich brauche an jeder Zelle aber einen eigenen. Ist das möglich?
 
Für die Darstellung einer Tabellenzelle ist der TableCellRenderer zuständig. Der CellEditor tritt nur in "Erscheinung" wenn die Zelle editiert wird. Dazu kann man wenn man will einen Button als CellEditor-Komponente verwenden - eventuell reicht auch ein MouseListener auf der JTable.

Zu dem Problem: Wenn eine Zelle der zweiten Spalte angeklickt als eigentlich editiert werden darf, muss der CellRenderer einen Button als Renderer Komponente zurückgeben, wenn nicht einfach ein leeres Panel oder Label, oder sonst etwas - je nach gusto.

Nach Möglichkeit und abhängig vom Datenmodell könnte/sollte man das direkt mit isCellEditable(row, column) verbinden.
 
Mein fresse....das ich an isCellEditable(int rowIndex, int columnIndex) nicht gedacht habe. bin ich nen doofen. Vielen vielen dank!
 

Neue Themen


Zurück
Oben