JTable - So erzwingen Sie, dass der Benutzer genau eine Zeile auswählt

7

Ich muss eine JTable implementieren, in der genau eine Zeile ausgewählt werden muss (immer). Leere Auswahl ist nicht erlaubt. Ich wähle die erste Zeile während der Initialisierung:

%Vor%

zusätzlich verwende ich

%Vor%

Aber Benutzer können immer noch eine Zeile mit CLick + Ctrl abwählen.

Was ist der einfachste Weg um sicherzustellen, dass immer eine (genaue) Zeile in der Tabelle ausgewählt wird?

    
guitar_freak 19.08.2013, 08:09
quelle

6 Antworten

14

Nun könnten Sie MouseListener s, SelectionListener s, KeyListener s und Tastenbelegungen hinzufügen, um dieses Problem zu lösen. Oder Sie könnten zum Kern des Problems gehen.

Der ListSelectionModel ist verantwortlich für die Verwaltung der Auswahldetails.

Sie könnten einfach Ihre eigene ListSelectionModel für die Zeilenauswahl angeben

%Vor%

Und setze es einfach auf deinen Tisch ...

%Vor%     
MadProgrammer 19.08.2013, 10:35
quelle
18

Wenn Sie eine JTable-Instanz erstellt haben, verwenden Sie einfach:

%Vor%     
Daniel Villanueva 17.11.2015 11:55
quelle
4
  

Was ist der einfachste Weg, um sicherzustellen, dass eine (genaue) Zeile immer vorhanden ist?   in der Tabelle ausgewählt?

Es gibt drei (im Prinzip) Auswahltypen

%Vor%

Bearbeiten

funktioniert auch für mich

%Vor%     
mKorbel 19.08.2013 08:28
quelle
1

Ich würde die JTable # setRowSelectionAllowed wird sichergestellt, dass eine Zeile ausgewählt werden kann.

    
blackpanther 19.08.2013 08:33
quelle
0

Dieser Code ändert es direkt zurück in den gewünschten Index und gibt dem Benutzer das Aussehen, dass es nie aktualisiert wird.

%Vor%     
Matt Reinhart 26.06.2016 19:14
quelle
0

Zuerst tun

%Vor%

setze dann ListSelectionModel

    
indika 19.06.2017 14:38
quelle

Tags und Links