Java Look-and-Feel для сообщений в трее на Ubuntu - PullRequest
2 голосов
/ 06 июля 2011

Я отображаю сообщения в системном трее через trayIcon.displayMessage (...), но они выглядят не очень хорошо.Я пытался изменить их внешний вид на системный стандарт, но вызов UIManager.setLookAndFeel (...) перед созданием иконки ничего не изменил.

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

tray = SystemTray.getSystemTray();
popup = new PopupMenu();
trayIcon = new TrayIcon(image, "Tray Demo", popup);
tray.add(trayIcon);

trayIcon.displayMessage("Tray Test", "Tray demo started", TrayIcon.MessageType.INFO);

Ответы [ 2 ]

1 голос
/ 30 июля 2011

Здесь вы можете найти отличный учебник, как избавиться от AWT и использовать свинг.Тогда вы можете иметь каждый взгляд и чувствовать, что вы хотите.

Единственная проблема в том, что всплывающее меню не исчезает, если вы щелкнете за его пределами.Самым быстрым обходным путем может быть добавление пункта меню (названного «Уничтожить» или что-либо еще), который ничего не делает, но вы можете щелкнуть по нему, и меню исчезнет:)

0 голосов
/ 06 июля 2011

Вы должны изменить внешний вид перед запуском приложения или сделать дополнительные вызовы методов, чтобы Swing перерисовал виджеты.Подробнее см. http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html.

...