Zum Inhalt springen

Zellenintervall in JTable selektieren


Brunswick

Empfohlene Beiträge

Wenn ich ne tabelle mit z.B. 5 Zeilen und Spalten habe, wie kann ich dann im Programm selber beispielsweise die Zellen mit den Koordinaten (Zeile2, Spalte 2), (Zeile2,Spalte3), (Zeile3/Spalte2), (Zeile3,Spalte3) selektieren? Blockweise würde reichen, sprich dass ich immer ein Rechteck selektiere aus der Tabelle, müssen also nicht unbedingt auch Selektionen gehen à la Zeile 1 Spalten 3-5, Zeile 2 nur Spalte 3, Zeile 3 Spalten 2-4.

Hab schon zig Sachen versucht, aber irgendwie kann ich nirgendwo ein Intervall setzen, obwohl es wohl irgendwas wie Anchor gibt, daß als Ankerpunkt fungiert und wo man dann nur noch nen Intervalpunkt angeben muß, der den gegenüberliegenden Punkt im selektierten Rechteck darstellen würde. Aber leider weiß ich nicht, wo ich die beiden Punkte setzen kann.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also wenn du eine Zelle selektiert hast, sollte das deselektieren funktionieren, wenn du folgendes aufrufst:

tabelle.changeSelection(zeilenindex, spaltenindex, true, false)

Allerdings muß die Tabelle hierzu sowohl zeilen als auch spaltenbasierte Selektionen zulassen, also beiden Parameter auch auf true setzen)

Ich würds gerne beschreiben, allerdings habe ich das Problem, daß ich das Ganze recht einfach lösen konnte, weil ich alle Daten schon über eine Adapterklasse hatte: Ich habe über jene Klasse die Zwischenablage für copy/paste- Zwecke eingebunden. Da die fokussierte Zelle in der JTable anscheinend immer der aktuelle Ankerpunkt ist, brauchte ich somit aus meinen Daten bloß die gegenüberliegnde Zelle des Rechtecks zu ermitteln und dann hab ich folgende Zeile aufgerufen:

tabelle.changeSelection(zeilenindex, spaltenindex, false, true)

Damit selektiert er alle Zellen zwischen dem Ankerpunkt und der anhand der Indices angegebenen Zelle

PS: Sehe gerade, du wolltest alle Zellen deselektieren, dazu müsstest du den Fokus (und somit den Ankerpunkt) also auf die 1.Zelle setzen und dann die letzte Zelle (also die gegenüberliegende) per Indices im Statement von oben angeben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...