什么是为Swing应用程序实现全局默认上下文菜单的最佳方法,其中包括像JTextField之类的Windows标准剪切/复制/粘贴等弹出菜单?Tim Boudreau在这个javalobby线程中建议安装自定义UI委托,但那是针对Java 5编写的,所以我想知道今天是否有更好的方法。是否有计划在未来的Swing版本中添加此行为?
时机刚好。我的明天的博客文章将讨论如何使用全局事件监听器。简单地说,可以使用AWTEventListener(而不是自定义EventQueue)来监听MouseEvents,并检查鼠标事件是否为弹出触发器。 我会在明天下午(东部夏令时)发布该文章的链接。 然后您可以决定哪种方法更好。 您现在可以查看全局事件监听器 条目,了解一个非常简单的使用AWTEventListener的示例。
setComponentPopupMenu(…)
方法在JDK1.5中被添加,但仍然需要手动为每个组件调用它。 - camickr