【发布时间】:2011-10-07 10:34:22
【问题描述】:
如何捕获文本/文件/任何其他 DataFlavor 到 java.awt.TrayIcon(放置在 java.awt.SystemTray)上的放置事件?
【问题讨论】:
标签: java swing drag-and-drop
如何捕获文本/文件/任何其他 DataFlavor 到 java.awt.TrayIcon(放置在 java.awt.SystemTray)上的放置事件?
【问题讨论】:
标签: java swing drag-and-drop
显然这还不支持(Java 1.7)。 如果有人感兴趣,我已经创建了一个功能请求Sun Feature Request 7119272 - 如果您愿意,您可以监控进度并为它投票。
【讨论】:
如果你在 TrayIcon 上添加一个 mousemotionlistener 并对漂浮在 TrayIcon 上的水滴做出反应会怎样。然后,当鼠标悬停在 TrayIcon 的 mousemotionlistener 上时,将显示一个具有拖放支持的 JList,该 JList 反过来将接收可放置对象。
【讨论】:
试试下面的代码。每当鼠标移到托盘图标上时它就会触发。
Toolkit.getDefaultToolkit().addAWTEventListener
(
new java.awt.event.AWTEventListener() {
@Override
public void eventDispatched(java.awt.AWTEvent event)
{
if (event.getID() == java.awt.event.MouseEvent.MOUSE_MOVED)
{
// add here your stuff
}
}//eventDispatched
}//AWTEventListener
, java.awt.AWTEvent.MOUSE_MOTION_EVENT_MASK
);
【讨论】:
你必须扩展你的 TrayIcon 并将我给你的部分添加到这个扩展的 TrayIcon 中。这样,它只会为扩展托盘图标的移动事件触发。剩下的交给你了。
【讨论】: