2012-12-18 1 views
4

Я создал приложение Java, которое подключается к серверу и всплывающее уведомление об уведомлении в системном трее Windows, которое предупреждает пользователя о том, что приложение отключено и повторно подключено. Вот код:Как установить промежуток времени, когда появляется значок уведомления Windows в Java

Image iconDisconnected = new 
ImageIcon(this.getClass().getResource(iconDisconnectedLocation)).getImage(); 
trayIcon = new TrayIcon(iconDisconnected); 
trayIcon.displayMessage("caption", "message", TrayIcon.MessageType.INFO); 

Однако этот значок появляется только на несколько секунд. Есть ли способ сделать его более длинным? Я пробовал читать руководство и искать, но не могу найти никакой информации об этом. Есть идеи?

+0

Я считаю, что это зависит от настроек Windows и Windows (скрыть неактивные значки). На других языках, вероятно, существуют способы сохранения активной иконки. –

+0

Эта проблема сохраняется в раздражении, так как сообщение Mac задерживается до тех пор, пока вы не закроете его, и сообщения Windows 8 и Windows 10 теперь пополняются по умолчанию и каждый раз воспроизводят звон. Мы решили вообще отказаться от уведомлений в лотке, это просто плохой опыт на платформе Java. – tresf

ответ

2

Нет отображения сообщений, зависит от вашей ОС. Но вы можете сами создать уведомление, используя JDialog, JOptionPane или JWindow, и заставьте его отображаться в соответствующем месте.

Значок остается в системном лотке, пока ваша программа Java не будет закрыта, или пока вы не удалите ее самостоятельно.