上のMouseListenerを右クリックして、私は、JTableの持つウィンドウを設計し、JTableのコンポーネント上のMouseEventリスナーを追加し、このコードを追加しました:私は、NetBeansを使用しています全体の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);
}
}
をしかし、それはときにのみ機能しますIいくつかのセルをクリックします。私はそれをJTable全体の領域で作業したいと思っています。どうやって?
はい、あなたは正しいです、それは私の問題でした:)私はそれを少し前に考え出しました。しかし、JScrollPaneでmousePressedをトリガーして解決したので、このメソッドをありがとうございます。 –
+1、良い推測。 – camickr
多くの人が、JScrollPaneとのやりとりの仕方を正しく認識していないようです。私はまだ私が望む以上にそれと苦労しています。 – jackrabbit