Swing Rechtsklick bei JTable unterdrückern?

ElJarno

Bekanntes Mitglied
Vorausgehend dieses Thema:
http://www.java-forum.org/awt-swing-swt/101885-jtable-spalten-ausblenden.html

Klappt ja auch wie dem Thema zu entnehmen ist. Hab das PopUp zur Spaltenauswahl nun aber auf den Header gelegt. Funktioniert auch solange bis man die Spalte entfernt auf welche man mit der rechten Maustaste geklickt hat, dann gibts ne Vector Expception. Entferne ich alle Listener vom Header geht wieder nur dann kann den Autorowsorter und das verschieben natürlich nicht mehr nutzen.
Also kann mir jemand sagen wo ich die Listener der Table finde um sie auf den Linksklick zu beschränken.

Gruß Jan
 
Spontan fällt mir ein, dass du die processMouseEvent( MouseEvent e ) Methode der JTable überschreiben könntest, um nur bestimmte Klicks durchzulassen, sollte das wirklich dein Wunsch sein. Vielleicht wärs aber geschickter (aber natürlich auch aufwendiger) den Vector der aktuellen View anzupassen um die Exception an sich zu verhindern.
 
Hab mich auch etwas unglücklich ausgedrückt. Was ich damit sagen wollte: Es wäre wahrscheinlich besser zu versuchen, die Ursache der VectorException zu ermitteln und dies zu unterbinden, anstatt zu verhindern, dass die Exception generell auftritt, indem versucht wird, den Mausklick zu unterbinden. Die Exception hat ja einen Grund, und vielleicht ist das ein Fall, den man abfangen sollte.

Ist aber auch nur eine Vermutung. Vielleicht hab ich dein Problem auch noch nicht ganz verstanden, da ich mir das Beispiel aus dem anderen Thread nicht im Detail angeschaut habe.

Grüße,
ymene
 
Vielleicht hilft dir das.

Schreib deinen eigenen MousListener. Dann kannst du beim MouseEvent die Methode isPopupTrigger() überprüfen. Dieser gibt dir zurück ob es ein Links- oder Rechtsklick ist.
 
Schreib deinen eigenen MousListener. Dann kannst du beim MouseEvent die Methode isPopupTrigger() überprüfen. Dieser gibt dir zurück ob es ein Links- oder Rechtsklick ist.
danke den trick kenn ich schon😉. Es liegt halt daran, dass ja beim klick im header irgendwelche listener anspringen und wenn dann die spalte entfernt wo der listener gerade darauf reagiert, knallts irgendwo.
 

Zurück
Oben