Java Mouse Event คลิกขวา


88

บนเมาส์ปุ่มสามปุ่มMouseEvent.BUTTON2= คลิกกลางและMouseEvent.BUTTON3= คลิกขวา

กรณีนี้ใช้เมาส์สองปุ่มหรือไม่?

ขอบคุณ

คำตอบ:


171

เพื่อหลีกเลี่ยงความคลุมเครือให้ใช้วิธีการยูทิลิตี้จากSwingUtilities :

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


10

ใช่ลองดูที่หัวข้อนี้ซึ่งพูดถึงความแตกต่างระหว่างแพลตฟอร์ม

วิธีตรวจจับเหตุการณ์คลิกขวาสำหรับ Mac OS

BUTTON3จะเหมือนกันในทุกแพลตฟอร์มโดยเท่ากับปุ่มเมาส์ขวา BUTTON2 จะถูกละเว้นหากไม่มีปุ่มกลาง


1

ฉันเคยเห็น

anEvent.isPopupTrigger() 

ใช้ก่อน ฉันค่อนข้างใหม่กับ Java ดังนั้นฉันจึงยินดีที่จะรับฟังความคิดเห็นเกี่ยวกับแนวทางนี้ :)


7
ใช่ แต่ตามbugs.java.com/bugdatabase/view_bug.do?bug_id=4119064และการปฏิบัติของฉันเองฟังก์ชันนี้จะทำงานไม่ถูกต้องใน Windows และข้อผิดพลาดอยู่มา 16 ปีแล้ว ...
Gangnus
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.