Как изменить значок баночки по умолчанию - PullRequest
13 голосов
/ 13 октября 2010

Сначала я прочитал все вопросы по этой теме, так что это не повторный вопрос.

О чем я хочу спросить, как приложение, написанное на Java (например, eclipse), использует значок вместо значков jar по умолчанию.

Меня не волнует совместимость, я всегда могу сделать 2 разные версии моей программы для Windows и Linux.

Как это сделать в Linux и Windows.

Большое спасибо.

Ответы [ 5 ]

15 голосов
/ 13 октября 2010

В случае таких программ, как eclipse, которые написаны на Java и имеют определенный значок в Windows (или Linux или Mac в этом отношении), у них фактически есть исполняемый файл для конкретной ОС, например, eclipse.exe для Windows, которая инициализирует Java-программу.

Именно этот исполняемый файл содержит значок приложения, а не программу Java. Если вы хотите сделать то же самое, вам нужно как бы создать исполняемый файл 'front door' и дать ему иконку.

Если это только для вашей личной эстетики, просто создайте ярлык для файла JAR и измените значок ярлыка.

4 голосов
/ 15 ноября 2010

Чтобы установить изображение для MAC, вы можете использовать com.apple.eawt.Application.попробуйте это:

Image img = new ImageIcon("abc.png").getImage();  // your desired image  
Application app = Application.getApplication();
app.setDockIconImage(img);

Однако по умолчанию это не будет работать в Windows или Linux.Если вы хотите, (Maven) добавьте следующую зависимость к вашему POM:

<dependency>
    <groupId>com.yuvimasory</groupId>
    <artifactId>orange-extensions</artifactId>
    <version>1.3.0</version>
</dependency>

Или, если вы не используете Maven, вы можете загрузить JAR из http://central.maven.org/maven2/com/yuvimasory/orange-extensions/1.3.0/orange-extensions-1.3.0.jar

3 голосов
/ 13 октября 2010

Если приложение запускается с помощью Java Web Start , значок приложения можно указать для использования в ярлыках на рабочем столе и в элементах меню.

Обратите внимание, что этот значок не прикреплен непосредственно к банке, но, поскольку конечный пользователь никогда не видит или не имеет дело с банкой, это не должно быть проблемой.

2 голосов
/ 13 октября 2010

Если вы говорите о самом значке приложения, скажем, в Windows, вы не можете изменить его (программно). Это определяется ОС. Хотя вы можете изменить его в своей ОС в настройках папки.

Тем не менее, вы можете установить изображение окна (читай: JFrame), используя setIconImage().

2 голосов
/ 13 октября 2010

Я использую NetBeans, поэтому, если вы не используете это, я не совсем знаю. Но когда вы выбираете окно, в окне свойств есть опция для файла значка. Когда вы создаете .jar, этот значок должен быть встроен в программу.

...