Heim > Java > javaLernprogramm > Hauptteil

Wie kann ich die nicht kontinuierliche Zellenauswahl in einer JTable aktivieren?

Mary-Kate Olsen
Freigeben: 2024-11-12 11:49:01
Original
282 Leute haben es durchsucht

How Can I Enable Non-Continuous Cell Selection in a JTable?

So aktivieren Sie die nicht kontinuierliche Zellenauswahl in einer JTable

In Standard-JTable-Implementierungen können Benutzer nur Gruppen zusammenhängender Zellen auswählen. Es gibt jedoch Möglichkeiten, dieses Verhalten anzupassen, um eine individuelle und nicht kontinuierliche Zellenauswahl zu ermöglichen.

Methode 1: Verwenden des STRG-Modifikators

Wenn der Auswahlmodus der JTable ist auf ListSelectionModel.SINGLE_SELECTION festgelegt. Wenn Sie die STRG-Taste gedrückt halten, während Sie auf nicht zusammenhängende Zellen klicken, werden diese ausgewählt einzeln.

Methode 2: Überschreiben der Methode „processMouseEvent“

Für mehr Kontrolle über das Auswahlverhalten können Sie die Methode „processMouseEvent“ der Unterklasse „JTable“ überschreiben. In der überschriebenen Methode können Sie die Modifikatoren ändern, um die JTable davon zu überzeugen, dass die STRG-Taste gedrückt ist, während Mausereignisse verarbeitet werden.

Hier ist ein Beispiel-Codeausschnitt:

public class Ctrl_Down_JTable extends JTable {

    private static final long serialVersionUID = 1L;

    @Override
    protected void processMouseEvent(MouseEvent e) {
        int modifiers = e.getModifiers() | InputEvent.CTRL_MASK;
        int modifiersEx = e.getModifiersEx() | 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);
    }
}
Nach dem Login kopieren

Methode 3: Verwenden eines benutzerdefinierten ListSelectionModel

Eine weitere Option besteht darin, ein benutzerdefiniertes ListSelectionModel zu erstellen Dies unterstützt die nichtkontinuierliche Zellauswahl. Dazu gehört das Erweitern der DefaultListSelectionModel-Klasse und das Überschreiben bestimmter Methoden, um die gewünschte Funktionalität zu implementieren.

Hinweis:

  • Das Verhalten der nicht kontinuierlichen Zellenauswahl kann je nach variieren Abhängig vom verwendeten Betriebssystem und der verwendeten Swing-Version.
  • Beachten Sie bei der Verwendung benutzerdefinierter Auswahlmodelle mögliche Auswirkungen auf die Leistung und stellen Sie sicher, dass sie zu den spezifischen Modellen passen Anforderungen Ihrer Bewerbung.

Das obige ist der detaillierte Inhalt vonWie kann ich die nicht kontinuierliche Zellenauswahl in einer JTable aktivieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage