【发布时间】:2012-07-03 05:50:17
【问题描述】:
考虑一个简单的应用程序,即显示文件列表。我想显示上下文菜单,当用户单击文件或文件夹时,就像用户在 Windows 资源管理器中单击鼠标右键(打开、重命名、编辑等)一样。我不想创建自己的上下文菜单,我想显示 windows os 上下文菜单,可能使用某种 winapi。这应该只适用于 Windows 机器。
是否可以使用 Swing 或 SWT 或任何其他 UI 控件来实现?
【问题讨论】:
-
java.awt.Desktop类可以提供使用默认应用打开/编辑的能力。对于重命名/复制/删除,请参阅java.io.File类或 Java 7 中与文件相关的新 API。请注意,我猜这种能力将是 .Net 中的 2-3 行代码。如果只针对 Windows,您应该考虑使用它。 -
Raymond Chen 写了一个eleven part series 解释如何在 C/C++ 中做到这一点。这真的不简单。
-
继续 @arx 所说的,一旦你获得了 C/C++ 代码以便为 Windows 资源管理器做出贡献,那么如果你想要你的业务逻辑在 Java 中,你'必须启动 Java 运行时,然后使用一些 COM 或其他东西来来回获取消息。欢乐时光!
-
问了类似的问题here
标签: java swing winapi swt contextmenu