Klik Kanan Acara Mouse Java

88

Pada tiga tombol saya, mouse MouseEvent.BUTTON2= Klik Tengah dan MouseEvent.BUTTON3= Klik Kanan.

Apakah ini kasus pada mouse dua tombol?

Terima kasih

DD.
sumber

Jawaban:

171

Untuk menghindari ambiguitas, gunakan metode utilitas dari SwingUtilities :

SwingUtilities.isLeftMouseButton(MouseEvent anEvent) SwingUtilities.isRightMouseButton(MouseEvent anEvent) SwingUtilities.isMiddleMouseButton(MouseEvent anEvent)

barjak
sumber
10

Ya, lihat utas ini yang berbicara tentang perbedaan antar platform.

Bagaimana mendeteksi event klik kanan untuk Mac OS

BUTTON3sama di semua platform, sama dengan tombol kanan mouse. BUTTON2 diabaikan begitu saja jika tombol tengah tidak ada.

Codemwnci
sumber
1

Saya telah melihat

anEvent.isPopupTrigger() 

digunakan sebelumnya. Saya cukup baru mengenal Java jadi saya senang mendengar pemikiran tentang pendekatan ini :)

Sam Jarman
sumber
7
ya, tetapi menurut bugs.java.com/bugdatabase/view_bug.do?bug_id=4119064 dan praktik saya sendiri, fungsi ini tidak akan berfungsi dengan benar di Windows. Dan bug tersebut sudah berlangsung selama 16 tahun ...
Gangnus