2
當使用TrayIcon.displayMessage顯示彈出通知時,Java 6文檔指出'單擊該消息可能會觸發一個ActionEvent'。Java TrayIcon displayMessage'可能觸發ActionEvent'何時/不是嗎?
'五一'?謝謝,文檔。
在我的Windows 2000測試虛擬機上,單擊該消息似乎不會觸發一個ActionEvent(不幸的是我沒有任何更新的Windows許可證進行測試),而相同的代碼在Ubuntu和OS X中會觸發一個。
注意:單擊圖標本身會觸發鼠標偵聽器上的事件。
所以無論如何,我的具體問題是:
難道我糾正一下通知沒有在Windows 2000中觸發一個ActionEvent,或者是有什麼我做錯了嗎?
它是否可以在Windows XP或Windows 7中觸發ActionEvent?
最小示例代碼如下。當我在Windows 2000中使用java Test
運行此操作時,單擊通知不會生成任何命令行輸出。
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import javax.swing.SwingUtilities;
public class Test
{
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
TrayIcon icon = new TrayIcon(
new BufferedImage(16, 16, BufferedImage.TYPE_INT_RGB));
icon.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent arg0)
{
System.err.println("ActionEvent: " + arg0);
}
});
try
{
SystemTray.getSystemTray().add(icon);
}
catch(AWTException e)
{
e.printStackTrace();
}
icon.displayMessage("New message", "Can you click on this?",
TrayIcon.MessageType.INFO);
}
});
}
}
我理解,但我認爲這將是知道的(對我有用,其他)它實際上觸發了一個事件的平臺。 – sam 2012-07-27 16:36:04
哦,是的,遠點;) – MadProgrammer 2012-07-27 21:41:59
很明顯,通知確實會導致某種事件,因爲C應用程序響應,當我點擊,但Java不。我使用Windows 10 btw。 – Matthew 2017-10-02 21:04:16