JTable und Shift-Taste

Barbara

Grünschnabel
Hallo!

Gibt es eine Möglichkeit das Standardverhalten einer JTable bei der Selektierung von bei der Verwendung einer Maus bei gedrückter SHIFT-Taste zu verhindern. Üblicherweise wird von der zuvor selektierten Zelle bis zu der nächsten selektierten Zelle ein durchgehender Bereich markiert und ich möchte jetzt, daß mein Programm die Shift-Taste einfach ignoriert.
Ich habe es schon über die InputMap versucht, aber das funktioniert nicht und auch das Entfernen der automatischen MouseListeners hat nicht zum gewünschten Ziel geführt, sondern jede Nutzung der Maus verhindert.

Danke!
Schöne Grüße
Barbara
 
Hallo!

Ja, ich hab auch einen KeyListener in der JTable und es wird auch, wenn Shift gedrückt wird, wie gewünscht eine Variable abgespeichert. Aber trotzdem reagiert die JTable zusammen mit Shift und Maus standardmäßig. Ich weiß nicht, was ich im KeyListener einstellen könnte um die Shift-Taste für die Kombination mit der Maus zu deaktivieren.

Schöne Grüße
Barbara
 
Du hast ja sicherlich eine if-Anweisung, die abfragt, ob die Shift-Taste gedrückt wurde. Da musst du
Code:
event.consume();

aufrufen.
Das sollte eigentlich funktionieren.

Gruß

Sascha
 
Danke für den Hinweis.
Ich habe das jetzt ausprobiert und in meinen KeyListener bei KeyPressed den Absatz

if (arg0.getKeyCode()==KeyEvent.VK_SHIFT){
arg0.consume();
}

eingebaut. Aber das hat leider keinen Unterschied gemacht und Shift+Maus markiert noch immer wie sonst auch.

Schöne Grüße
Barbara
 
Hallo,

versuch es mal hiermit
Code:
new MouseAdapter() {

            public void mouseClicked(MouseEvent e) {
                  if(e.isShiftDown()){
                    e.consume();
                }
            }

            public void mousePressed(MouseEvent e) {
                if(e.isShiftDown()){
                    e.consume();
                }
                    
            }   
        };

Füge das mal als MouseListener der Tabelle hinzu,


Gruß

Sascha
 
Hallo!

Entschuldige, das ich so lange nicht reagiert habe, aber ich bin eine Zeitlang nicht wirklich dazugekommen.
Danke für die Hilfe! Ich hatte das auch versucht, aber leider nicht den erwünschten Erfolg. Ich hab das Problem in der Zwischenzeit umgangen, in dem ich die Tastenbelegung bei der Bedienung des Programmes geändert habe.

Schöne Grüße
Barbara
 
Zurück