J'utilise Netbeans et j'ai conçu une fenêtre avec JTable et ajouté auditeur MouseEvent sur le composant JTable et ajouté ce code:Faites un clic droit sur le composant MouseListener tout JTable
private void productsTableMousePressed(java.awt.event.MouseEvent evt) {
if(evt.isPopupTrigger()) {
tablePopupMenu.setLocation(evt.getXOnScreen(), evt.getYOnScreen());
tablePopupMenu.setVisible(true);
System.out.println("Fired!");
}
}
private void productsTableMouseReleased(java.awt.event.MouseEvent evt) {
if(evt.isPopupTrigger()) {
tablePopupMenu.setLocation(evt.getXOnScreen(), evt.getYOnScreen());
tablePopupMenu.setVisible(true);
}
}
Mais il ne fonctionne que quand je cliquez sur certaines cellules. Je veux le faire fonctionner sur toute la zone JTable. Comment?
Oui, vous avez raison, c'était mon problème :) Je l'ai compris il y a quelques instants. Mais, merci pour cette méthode car je l'ai résolu en déclenchant mousePressed sur JScrollPane, mais vos solutions sonne mieux. –
+1, bonne estimation. – camickr
Peu de gens semblent savoir comment interagir correctement avec un JScrollPane. Je me bats encore plus que je ne le voudrais. – jackrabbit