2009-06-25 4 views
3

Ich versuche, eine besondere Art von Jtable zu machen. Ich möchte, dass die gesamte Tabelle standardmäßig NICHT editierbar ist. Wenn der Benutzer jedoch auf eine Zeile klickt und dann auf die Schaltfläche "Bearbeiten" klickt, kann diese bestimmte Zeile bearbeitet werden. und sobald sie die Reihe abwählen, ist sie nicht mehr editierbar.Nur eine Zeile editierbar auf JTable

Wie würde ich das machen?

+0

benötigen Sie den gesamten Prozess zu verstehen, von der Handhabung der Button-Aktion der Tabelle bearbeitbar Einstellung? – akf

+0

Warum lassen Sie nicht einfach jede Zeile editierbar sein? Vielleicht möchten Sie nur die zweite Spalte editierbar? Worin unterscheidet sich das Klicken und Bearbeiten direkt von der Verwendung einer separaten Bearbeitungsschaltfläche? – akarnokd

+1

Ich möchte nur, dass eine Zeile editierbar ist, um zu vermeiden, dass Leute versehentlich Zeilen ändern, die sie nicht ändern wollten. Wenn Sie auf eine Zeile klicken und auf Bearbeiten klicken, heißt das, dass sie absolut die Zeile bearbeiten soll. OverIDing isCellEditable Ich weiß, wie ich das tun konnte, danke. – Danny

Antwort

5

Um zu steuern, welche Zellen bearbeitbar sind, müssen Sie entweder JTable oder JTableModel (siehe Aufruf des Modells im folgenden Beispiel) erweitern, um sicherzustellen, dass diese Methode von JTable für alle Zellen in der Zeile (s) Sie möchten basierend auf Ihrer Spezifikation bearbeitet werden.

public boolean isCellEditable(int row, int column) { 
     return getModel().isCellEditable(row, convertColumnIndexToModel(column)); 
    } 

nehmen auch einen Blick auf this tutorial über den Table zu lernen