我有代码,在下面,它在 JPanel 中显示一张照片。实际上,JPanel 正在浏览相册,我拥有它,因此当单击 JPanel 时,面板会前进到下一帧。我还对其进行了配置,以便在右键单击 JPanel 时显示弹出菜单。
我读到,在实现弹出菜单时,需要重写 mousePressed() 和 mouseReleased() 才能捕获所有平台的触发器。但是,由于我有一个与 JPanel 关联的监听器,因此当用户单击该窗口时,JPanel 会显示两张照片。这是可以理解的,但我应该如何编码才能确保在所有平台上显示弹出窗口(我的教授可能会检查我在 Linux 上的程序,而我必须在家里在 Windows 上对其进行编码)。
最佳答案
JComponents 有一个属性 componentPopupMenu - 设置该属性可以让你的弹出菜单自动出现,而不需要在 MouseListener 中做任何努力
photoPanel.setComponentPopupMenu(photoPopupMenu);
然后确保您的鼠标触发操作(前进到下一个)仅在单击左键时发生。
关于java - 实现鼠标事件的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5657757/