


Wie aktiviere ich die nicht kontinuierliche Zellenauswahl in einer JTable?
Einzelne und nicht kontinuierliche JTable-Zellenauswahl
Benutzern die Auswahl mehrerer nicht kontinuierlicher Zellen in einer JTable zu ermöglichen, kann für verschiedene Anwendungen eine wertvolle Funktion sein. Hier ist eine detaillierte Untersuchung der Ansätze zum Erreichen dieser Funktionalität:
Eingebaute Optionen
Die Standard-JTable-Komponente bietet keine direkte Option zum Auswählen mehrerer nicht kontinuierlicher Zellen. Es gibt jedoch zwei Methoden, die in Kombination genutzt werden können:
- setCellSelectionEnabled(true): Diese Methode ermöglicht die Auswahl einzelner Zellen.
- setSelectionModel (neues DefaultListSelectionModel()): Diese Methode überschreibt das standardmäßige Zeilenauswahlmodell mit einem Listenauswahlmodell, das eine nicht kontinuierliche Auswahl unterstützt.
Dieser Ansatz ermöglicht jedoch nur die Auswahl aufeinanderfolgender Zeilen Zellen in einer einzelnen Zeile oder Spalte.
Ändern der Mausereignisbehandlung
Ein alternativer Ansatz besteht darin, die Mausereignisbehandlung der JTable zu ändern. Durch Überschreiben der Methode „processMouseEvent“ können Sie die JTable dazu zwingen, jeden Mausklick mit gedrückter Strg-Taste als Zellenauswahlumschaltung zu behandeln. Dadurch können Sie einzelne Zellen unabhängig von ihrer Position auswählen.
import java.awt.Component; import java.awt.event.InputEvent; import java.awt.event.MouseEvent; import javax.swing.JTable; public class TableSelection extends JTable { @Override protected void processMouseEvent(MouseEvent e) { int modifiers = e.getModifiers() | InputEvent.CTRL_MASK; MouseEvent myME = new MouseEvent((Component) e.getSource(), e.getID(), e.getWhen(), modifiers, e.getX(), e.getY(), e.getXOnScreen(), e.getYOnScreen(), e.getClickCount(), e.isPopupTrigger(), e.getButton()); super.processMouseEvent(myME); } }
Mit diesem Ansatz erhalten Sie die Möglichkeit, einzelne und nicht kontinuierliche Zellen in Ihrer JTable auszuwählen. Beachten Sie, dass hierfür keine Änderungen am ListSelectionModel oder am Auswahlmodus der JTable erforderlich sind.
Externes Auswahlmodell
Wie in der Frage vorgeschlagen, bietet die Implementierung Ihres eigenen ListSelectionModel vollständige Kontrolle über den Auswahlmechanismus. Dieser Ansatz bietet höchste Flexibilität und ermöglicht es Ihnen, das Auswahlverhalten nach Bedarf anzupassen.
Vorbehalte
Es ist wichtig zu beachten, dass einige JTable-Vorgänge, wie etwa Sortieren oder Filtern, möglicherweise nicht wie erwartet funktionieren mit nichtkontinuierlicher Zellauswahl. Darüber hinaus müssen Sie möglicherweise die Färbung oder Gestaltung ausgewählter Zellen manuell vornehmen.
Fazit
Während JTable die nichtkontinuierliche Zellauswahl nicht nativ unterstützt, bieten die oben genannten Techniken effektive Lösungen, um dies zu erreichen Funktionalität. Indem Sie die Einschränkungen verstehen und die entsprechende Methode anpassen, können Sie die Benutzererfahrung Ihres JTable verbessern und auf spezifische Anwendungsanforderungen eingehen.
Das obige ist der detaillierte Inhalt vonWie aktiviere ich die nicht kontinuierliche Zellenauswahl in einer JTable?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Fehlerbehebung und Lösungen für die Sicherheitssoftware des Unternehmens, die dazu führt, dass einige Anwendungen nicht ordnungsgemäß funktionieren. Viele Unternehmen werden Sicherheitssoftware bereitstellen, um die interne Netzwerksicherheit zu gewährleisten. ...

Lösungen zum Umwandeln von Namen in Zahlen zur Implementierung der Sortierung in vielen Anwendungsszenarien müssen Benutzer möglicherweise in Gruppen sortieren, insbesondere in einem ...

Die Verarbeitung von Feldzuordnungen im Systemdocken stößt häufig auf ein schwieriges Problem bei der Durchführung von Systemdocken: So kartieren Sie die Schnittstellenfelder des Systems und ...

Bei Verwendung von MyBatis-Plus oder anderen ORM-Frameworks für Datenbankvorgänge müssen häufig Abfragebedingungen basierend auf dem Attributnamen der Entitätsklasse erstellt werden. Wenn Sie jedes Mal manuell ...

Beginnen Sie den Frühling mit der Intellijideaultimate -Version ...

Konvertierung von Java-Objekten und -Arrays: Eingehende Diskussion der Risiken und korrekten Methoden zur Konvertierung des Guss-Typs Viele Java-Anfänger werden auf die Umwandlung eines Objekts in ein Array stoßen ...

Detaillierte Erläuterung des Designs von SKU- und SPU-Tabellen auf E-Commerce-Plattformen In diesem Artikel werden die Datenbankdesignprobleme von SKU und SPU in E-Commerce-Plattformen erörtert, insbesondere wie man mit benutzerdefinierten Verkäufen umgeht ...

Wie erkennt die Redis -Caching -Lösung die Anforderungen der Produktranking -Liste? Während des Entwicklungsprozesses müssen wir uns häufig mit den Anforderungen der Ranglisten befassen, z. B. das Anzeigen eines ...
