Java Swing JTable; à Droite, Cliquez sur Menu (Comment puis-je obtenir pour “sélectionner” aka mettre en surbrillance la ligne)
Court: j'ai besoin d'un "droit-cliquez sur l'événement" pour mettre en surbrillance la cellule de la ligne.
Je suis à l'aide d'un JTable à l'intérieur d'un composant ScrollPane en Java Swing (Netbeans Matisse). J'ai un MouseClicked écouteur d'événement sur la JTable qui effectue les opérations suivantes:
if (evt.getButton() == java.awt.event.MouseEvent.BUTTON3) {
System.out.println("Right Click");
JPopUpMenu.show(myJTable, evt.getX(), evt.getY())
}
Le problème est... à chaque fois que j'exécute un clic droit sur la JTable, la ligne n'est pas mis en évidence (j'ai mis de la sélection de lignes que btw). J'ai cherché pendant plusieurs setSelected() fonctionne, mais ne pouvait pas trouver un convenable. Par défaut, un clic gauche sélectionne automatiquement la ligne. Comment puis-je mettre en place pour clique-droite sur?
Vous devez vous connecter pour publier un commentaire.
comme ceci:
......
mousePressed
plutôt quemouseReleased
donc, si vous utilisez ce code, le popup ne s'affichent pas si vous exécutez votre application sur Mac OS X.Accepté la réponse ne prenez pas les touches de modification, comme ctrl ou maj en compte, mais ils indiquent que la sélection courante pas être remplacé, mais étendue.
Aussi, j'ai ajouté multi-support de l'OS par la vérification de
mousePressed
etmouseReleased
.Suivantes, vous trouverez un exemple complet sur la façon de régler les lignes sélectionnées, à l'aide de la
ListSelectionModel
, y comprisMouseEvent#getModifiers
contrôles. Après cela, il est possible d'ouvrir une (facultatif)JPopupMenu
.