я в настоящее время имеем дело с минимизацией JFrame в системный трей, и я сделал так успешно, как указано ниже:JFrame - значок не отображается на панели задач, когда Sys JFrame было сведено к минимуму
//
URL resource = panel.getClass().getClassLoader().getResource("boston.png");
System.out.println("rfc95Panel.getClass().getClassLoader().getResource() is: " + rfc95Panel.getClass().getClassLoader().getResource("boston.png"));
Image image = Toolkit.getDefaultToolkit().getImage(resource);
//
frame.setIconImage(image);
//
if (SystemTray.isSupported()) {
final TrayIcon icon = new TrayIcon(image);
icon.setToolTip("Program minimised");
//
icon.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
frame.setVisible(true);
frame.setExtendedState(frame.NORMAL);
getSystemTray().remove(icon);
}
});
// Adds the specified window state listener to receive window events
// from this window. If l is null, no exception is thrown and no action
// is performed.
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowIconified(WindowEvent e) {
frame.setVisible(false);
try {
getSystemTray().add(icon);
} catch (AWTException e1) {
e1.printStackTrace();
}
}
});
}
Проблема заключается в том при сворачивании я не могу увидеть/значок изображения, когда я открываю в системном трее т.е. я могу видеть всплывающую подсказку, но я не могу видеть значок, связанный с моей программой - см изображения ниже
Любыми идеи о том, что мне не хватает? Я чувствую, что это может быть что-то основное.
Вы уверены, что ваш файл bosten.png загружен правильно? – Grammin
Чтобы лучше помочь, опубликуйте [SSCCE] (http://sscce.org/). –
Привет Граммин, спасибо за ответ .. изображение загружается правильно .. Я могу подтвердить это, распечатав местоположение изображения на консоли, которая является rfc95Panel.getClass(). GetClassLoader(). GetResource(): файл:/C: /Users/TestProject/bin/boston.png .. Я также могу увидеть изображение на панели задач, когда программа открыта. – TokTok123