Значок Java SystemTray - PullRequest
       17

Значок Java SystemTray

4 голосов
/ 18 февраля 2011

Существует действительно простое руководство по реализации иконки в системном трее .

Проблема в том, что я вижу значок в трее, если я запускаю свое приложение из затмения, но я не вижу его, если я экспортирую и запускаю исполняемый файл JAR. В моем приложении есть другие изображения, которые отлично работают в той же папке.

Поднос работает (щелчок левой и правой кнопкой мыши), но не показывает изображение, как вы можете видеть на изображении (файл jar вверху, с затмением внизу):

Example of the Missing image

Почему? Спасибо и извините за мой английский!

РЕДАКТИРОВАТЬ : Я наконец-то нашел решение, к которому нужно получить доступ к изображению, с:

Image img = Toolkit.getDefaultToolkit().getImage(MyClass.class.getResource("/images/asd.png"));

1 Ответ

1 голос
/ 18 февраля 2011

Проблема в том, как вы включаете файл изображения.Вы должны будете включить изображение в JAR при его создании, и вам придется получить доступ к изображению другим способом:

try {
    InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("wing16.png");
    BufferedImage img = ImageIO.read(is);
}
catch (IOException e) {}

Вы можете просто использовать img переменная для установки изображения в JAR.

Обновление:

Возьмите все ваши файлы классов и изображений и перейдите к командной строке:

jar -cvfm Test.jar Manifest.mft *.class image.png

Замените Manifest.mft именем вашего файла манифеста.Замените image.png изображением, которое вы хотите показать (вы можете добавить больше изображений, если вам нужно)

...