Как сделать иконку приложения java

Добавил пользователь Дмитрий К.
Обновлено: 04.10.2024

Репутация: нет
Всего: нет

Добрый день!
Думал пустячный вопрос, а вот уже который час не могу изменить
иконку вместо чашки с кофем!!

MainContentObj -объект класса JFrame;
Рисунок icon.jpg лежит в папке "src/images/"
("src/images/icon.jpg")

Иконка размером (16 на 16); Пробовал и 32 на 32. Менял расширения: jpg, ico и gif;

При изменении делаю "Clean and Build" затем Run
Работаю в NetBeans 6.0, но запускал jar через Ant непосредственно из командной сроки;

Пробовал такие варианты:

Код

MainContentObj.setIconImage(Toolkit.getDefaultToolkit().getImage(this.getClass().getClassLoader().getResource("images/icon.jpg")));

(Путь определяет правильный, изображение находит, отображать не хочет);

Код

try <
Image icon =ImageIO.read(MainContent.class.getResourceAsStream("images/icon.jpg"));
MainContentObj.setIconImage(icon);
>
catch (IOException ex)
<
ex.printStackTrace();
>

Репутация: 1
Всего: 9

Код

java.net.URL imgURL = LoginGUI.class.getResource("images/lock_go.jpg");
if (imgURL != null) this.setIconImage(new ImageIcon(imgURL).getImage());
>


какие то смутные сомнения - проблема может быть в том что файлы не определены в package
Попробуй положить все в какую нибудь папку, может получится.

Leprechaun Software Developer

Репутация: 38
Всего: 534

1. Начни уже пользоваться кнопкой Код!
2. Выбирай правильный раздел!
3. Что значит пробовал такие варианты, что в результате? Какие ошибки получил?
4. Проверь что твоя иконка была скопирована в папку где лежат скомпилированные классы.

Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.

Репутация: нет
Всего: нет

Код

Image img = new ImageIcon(Application.class.getResource("/b2009/images/MainICO.jpg")).getImage();
this.setIconImage(img);

вот так работает. Обращай внимание на путь к иконкам. Я всегда указываю от корня проекта. Application - это класс главного окна, куда иконка лепится.

Репутация: нет
Всего: 1

Код

Toolkit kit= Toolkit.getDefaultToolkit();
Image img=kit.getImage("note.jpg");
frame.setIconImage(img);
Код

ImageIcon img= new ImageIcon("D:\\WORK\\Akop's3dsmax&0thers\\workspace\\Новая папка\\BYRIME\\fish2.jpg");
frame.setIconImage(img.getImage());

Leprechaun Software Developer

Репутация: 38
Всего: 534

Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.

Репутация: нет
Всего: 4

я попробовала поменять , строчка кода
Image mainIcon = new ImageIcon(MyGui.class.getResource("O:\. Project Elements\GUI\mainIcon3")).getImage();
выдала мне ошибку illegal escape character
Может быть проблема в том что папка проекта находиться на флешке ?

Репутация: 2
Всего: 15

Обратный слэш (\) экранируется еше одним обратным слешем, т.е. \ в строке выглядит как "\\".

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

Репутация: нет
Всего: 2

Цитата(SoulKeeper @ 28.12.2008, 02:22 )
В путях файлов рекомендую использовать обычные слэши, т.е. /


Все таки лучше пользоваться "\\", так как обычная косая черта "/" это в большей степени к винде относится, а в другой системе могут быть другие разделители. А если уж вообще с фанатизмом подойти к делу, то есть получить 100% гарантию правильного разделителя, то надо использовать File.separator.

Репутация: 2
Всего: 15

Цитата(SoulKeeper @ 28.12.2008, 02:22 )
В путях файлов рекомендую использовать обычные слэши, т.е. /


Вообще-то в винде как раз таки бэк слеши (E:\programming\groovy - к примеру), но java чудесно работает со слешами.

Репутация: 5
Всего: 72

Если воткнёшь флешку в другой USB порт буква диска изменится и файл не найдётся. Такие картинки лучше хранить в виде ресурсов

Код

Image mainIcon = new ImageIcon(getClass().getResource("/GUI/mainIcon3.jpg"));


Картинка должна находиться в подкаталоге каталога ресурсов проекта (res если выделяется отдельный каталог для ресурсов или корневой каталог исходников если ресурсы исходники хранятся вместе), заглавные или строчные буквы - как в названии файла, русские буквы не употреблять, не забывать расширение.

Репутация: нет
Всего: 2

Цитата(SoulKeeper @ 28.12.2008, 15:00 )
Вообще-то в винде как раз таки бэк слеши (E:\programming\groovy - к примеру), но java чудесно работает со слешами.
Цитата

разделитель "/" работает точно так же, как и "\" во многих
программах и системных вызовах Windows. Дело в том, что в прародителе DOS -
операционной системе CP/M - не было директорий и, следовательно,
разделителей в именах файлов. Прямой слэш "/" был уже задействован для
передачи опций командам CP/M; обратный слэш "\" стали использовать как
разделитель директорий в именах файлов, однако оболочка понимает и "/" для
совместимости с другими операционными системами.

Репутация: нет
Всего: нет

Код

package test;

public class Test extends JFrame

protected static Image getImage() // link.class класс
java.net.URL imgURL = test.images.link.class.getResource("icon.jpg");
if (imgURL != null) return new ImageIcon(imgURL).getImage();
> else return null;
>
>
.
>

  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

[ Время генерации скрипта: 0.1373 ] [ Использовано запросов: 21 ] [ GZIP включён ]

1. Допустим у меня GUI свернут, мне нужно, что бы при обновлении GUI (добавились новые строки в текстовое поле) GUI разворачивался, и, если возможно, иконка приложения на панели задач светилась каким то цветом (жёлтым там или же красным. К примеру как в игре WoT, тип до начала боя 5 секунд и иконка игры загорается красным цветом если игра свёрнута).

2. Как установить приложения?
Название окна я установил так:

Установка иконки приложения
Здравствуйте. В qt designer устанавливаю иконку, которую а при запуска предосмотра видно. Потом.

Разворачивание приложения при нажатии на уведомление
Context context = getApplicationContext(); Intent notificationIntent = new Intent(context.

Сворачивание приложения в трей при старте
Приветствую уважаемых специалистов, Не очень понимаю, в чём тут дело и почему оно не работает.


Сложности с сертификатом при обновлении приложения
Здравствуйте, вообщем писал приложение еще в Android Studio 1.не помню номер, файл Key файл ключа.

ninjacut, кхм. я конечно извиняюсь, может я что то не понимаю, но у меня JavaFX, а вы вроде написал для Swing.
Если нет, то мне вместо значения frame подставлять stage? И как бы, вызывать всё то, что вы написали мне нужно в контроллере javafx, я не смогу вызывать это в главном классе.

Насчет иконки - попробуйте stage.getIcons().add(new Image(getClass().getResourceAsStream(path)));
Еще у меня было что после забыл в проекте нажать refresh и поэтому иконку не находило.

JavaFX доки говорят что stage.setMaximized(true); должен помочь.

1. Ругается на то, что не может найти нечего. Ищу кнопку рефреша. (НетБинс)
2. изменять stage можно ток в главном классе на сколько мне известно. Мне же надо, что бы я мог контролировать сей действие в контроллере (при обновлении текстового поля).

Николай Б, Вы правы, я не верный оператор импорта выбрал, поменял на нужный и всё заработало.

Для начала скажу, что я зарабатываю через вот этого брокера , проверен он временем! А вот хороший пример заработка , человек зарабатывает через интернет МНОГО МНОГО МНОГО и показывает все на примерах, переходи и читай! Добавь страницу в закладки. А теперь читаете информацию ниже и пишите свой отзыв

Можно ли изменить иконку приложения с помощью javafx, или это должно быть сделано с помощью качания?

Еще один простой способ, чтобы вставить свой собственный значок в строке заголовка в javafx, чтобы добавить изображение в начальной стадии, используя следующий метод:

Убедитесь, что ваш импорт в javafx.происшествия.изображения. Изображения (при использовании среды IDE как netbeans это должно быть сделано автоматически для вас).

и когда я запускаю проект из Netbeans, он работает нормально: значок появляется в верхнем левом углу окна и на панели задач. Изображение находится в корневом каталоге проекта.

Когда я очищаю и строю проект, он генерирует два установщика: один exe и один msi; и когда я устанавливаю приложение и открываю его, в окне нет значка sicadcam.jpg, у него есть значок логотипа java по умолчанию.

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

Это лишь частичный ответ на вопрос, поскольку мне не удалось создать автономный пакет, который показывает значок установленного приложения на панели задач Windows. Возможно, я пропустил один шаг, возникли проблемы с окружающей средой или конфигурация значков для автономных приложений может быть немного ошибкой и может быть исправлена ​​в последующих выпусках. Тестирование продолжалось: jdk7u21, NetBeans 7.3, Win7, InnoSetup.

Получите изображение значка из ресурса, а не из файла.

Например, если вы поместите изображение в исходный каталог вашего класса приложения:

Для установленного приложения это только установит значок, отображаемый в верхнем левом углу экрана. Чтобы установить значок панели задач, рабочего стола и т.д., Следуя инструкциям в разделе разделе "Самостоятельная упаковка" Руководства по развертыванию JavaFX, вы там.

Например, чтобы получить значок для установщика на моем Windows 7 для моего автономного приложения, мне нужно было поместить значок в /package/windows/ .ico (должен быть .ico для установщика-установщика, чтобы его забрать) file И убедитесь, что мой путь ant был настроен правильно, как описано в Как изменить собственный значок интерфейса JavaFx EXE (надеюсь, что настройка руководства ant не потребуется в позже выпусков NetBeans/JavaFX).

Загрузите приложение примера ансамбля из Oracle и посмотрите, как там размещается каталог пакетов для значков на платформе. К сожалению, когда я попытался построить Ensemble из командной строки, я также не смог заставить Windows 7 использовать значок Ensemble на панели задач, когда Ensemble был установлен и выполнен как автономное приложение.

Убедитесь, что ваша система сборки копирует ваш значок в файл jar, содержащий ваше приложение. Чтобы проверить это, перейдите в каталог приложения вашего установленного приложения и запустите jar tvf .jar = > он должен показать местоположение файла ресурсов значка в банке.

Читайте также: