繁体   English   中英

正确实现鼠标事件的方法

[英]Proper way to implement mouse events

我有代码,它在下面,在JPanel中显示一张照片。 实际上,JPanel正在浏览相册,我已经拥有它,以便在点击JPanel时,面板前进到下一帧。 我也对它进行了配置,以便在右键单击JPanel时,会显示一个弹出菜单。

我读到,在实现弹出菜单时,需要覆盖mousePressed()和mouseReleased()以捕获所有平台的触发器。 但是,由于我有一个与JPanel关联的监听器,当用户单击窗口时,JPanel会前进两张照片。 这是可以理解的,但我应该如何对此进行编码以确保我在所有平台上显示弹出窗口(我的教授可以在Linux上检查我的程序,我必须在家里的Windows上编写代码)。

JComponents有一个属性componentPopupMenu - 设置该属性使你的popupMenu自动出现,而不需要在MouseListener中做任何努力

 photoPanel.setComponentPopupMenu(photoPopupMenu);

然后确保您的鼠标触发动作(前进到下一个)仅在单个左侧按下时发生。

使用

MouseEvent.isPopupTrigger() 

确定是否应该使用给定事件来显示弹出窗口。

你会把它放在每个方法中(mousePressed和mouseReleased)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM