Как поставить иконку на приложение java
и когда я запускаю проект из Netbeans, он работает нормально: значок появляется в верхнем левом углу окна и на панели задач. Изображение находится в корневом каталоге проекта.
Когда я очищаю и строю проект, он генерирует два установщика: один exe и один msi; и когда я устанавливаю приложение и открываю его, в окне нет значка sicadcam.jpg, у него есть значок логотипа java по умолчанию.
Как и где я могу установить путь к изображению, чтобы при установке приложения появился значок.
спросил(а) 2013-05-28T07:14:00+04:00 8 лет, 6 месяцев назадЭто лишь частичный ответ на вопрос, поскольку мне не удалось создать автономный пакет, который показывает значок установленного приложения на панели задач Windows. Возможно, я пропустил один шаг, возникли проблемы с окружающей средой или конфигурация значков для автономных приложений может быть немного ошибкой и может быть исправлена в последующих выпусках. Тестирование продолжалось: jdk7u21, NetBeans 7.3, Win7, InnoSetup.
Получите изображение значка из ресурса, а не из файла.
Например, если вы поместите изображение в исходный каталог вашего класса приложения:
Для установленного приложения это только установит значок, отображаемый в верхнем левом углу экрана. Чтобы установить значок панели задач, рабочего стола и т.д., Следуя инструкциям в разделе разделе "Самостоятельная упаковка" Руководства по развертыванию JavaFX, вы там.
Например, чтобы получить значок для установщика на моем Windows 7 для моего автономного приложения, мне нужно было поместить значок в <netbeansprojectdir>/package/windows/<myappname>.ico (должен быть .ico для установщика-установщика, чтобы его забрать) file И убедитесь, что мой путь ant был настроен правильно, как описано в Как изменить собственный значок интерфейса JavaFx EXE (надеюсь, что настройка руководства ant не потребуется в позже выпусков NetBeans/JavaFX).
Загрузите приложение примера ансамбля из Oracle и посмотрите, как там размещается каталог пакетов для значков на платформе. К сожалению, когда я попытался построить Ensemble из командной строки, я также не смог заставить Windows 7 использовать значок Ensemble на панели задач, когда Ensemble был установлен и выполнен как автономное приложение.
Убедитесь, что ваша система сборки копирует ваш значок в файл jar, содержащий ваше приложение. Чтобы проверить это, перейдите в каталог приложения вашего установленного приложения и запустите jar tvf <yourappjar>.jar = > он должен показать местоположение файла ресурсов значка в банке.
Бывает скачаешь на компьютер свеженькое Java-приложеньице, отправишь его в мобильник по каналу Bluetooth, установишь, и. Вот незадача: иконка мидлета, отображаемая перед его названием в общем списке, намного больше или меньше всех остальных. Или же вовсе отсутствует. На работу программы подобные моменты, конечно же, не влияют, но смотрится это как минимум неаккуратно. Да и вообще - талантливые программисты, снабжающие нас десятками интересных мидлетов, далеко не всегда являются еще и продвинутыми дизайнерами: порой качество иконок настолько низкое, что у особо впечатлительных пользователей просыпается желание удалить свежеустановленную программку, даже не опробовав ее в деле.
К счастью, ничто не мешает заменить иконку на какую-нибудь другую или отрегулировать ее размеры самостоятельно - для этого нам понадобятся компьютер и такие приложения, как архиватор WinRAR и графический редактор Adobe Photoshop. Напомню, что Java-приложение по своей структуре является самым обычным архивом с расширением .jar, следовательно, для того чтобы получить доступ к его внутренностям, нужно открыть его с помощью WinRAR. Учитывая, что большинство современных мидлетов насыщены графикой, отыскать в списке файлов необходимую картинку в формате .jpg, выступающую в роли иконки, может оказаться непросто. Для того чтобы определить ее название и месторасположение, нужно зайти в папку META-INF и открыть находящийся в ней файл MANIFEST.MF с помощью обычного блокнота.
Рассмотрим ситуацию на примере Opera Mini 4.1. Итак, заглядываем в MANIFEST.MF и видим, что там упоминается файл i.jpg. Пример данного мобильного браузера очень показателен - название файла иконки здесь прописано целых два раза, в то время как в других мидлетах оно может быть указано только лишь одним из этих способов. Никаких ограничений на название иконки не накладывается, но чаще всего разработчики называют ее либо i.jpg, либо 1.jpg, либо icon.jpg.
Далее может быть два варианта действий в зависимости от ваших целей - или вы хотите заменить иконку на свою, или собираетесь корректировать ее размеры. В первом случае следует подготовить png-картинку, которая выглядит именно так, как вам нравится, и перетянуть ее в окно архиватора, в котором в данный момент отображается список файлов Java-приложения. Естественно, название новой иконки должно быть аналогично имени уже имеющейся - чтобы смена одного файла другим прошла корректно. Теперь можно отправлять мидлет в телефон и наслаждаться похорошевшим видом списка приложений.
Ну а что делать, если программа вообще не имеет иконки? На самом деле, такое бывает крайне редко - вероятно, вы скачали версию мидлета, предназначающуюся для некоторых моделей телефонов Samsung или Motorola, в которых отображение пиктограмм сторонних приложений в меню не предусмотрено вовсе. При этом разработчик наверняка прописал название иконки и путь к ней в MANIFEST.MF, вот только ее саму в мидлет добавить "забыл" - все равно ведь не пригодится. Следовательно, вам необходимо открыть "манифест" в блокноте, посмотреть название иконки и месторасположение папки, в которой она якобы находится, убедиться, что на самом деле ее там нет, создать ее в Photoshop'е и забросить туда, куда нужно. Дальнейшие действия, думаю, очевидны.
Можно ли изменить значок приложения с помощью JavaFX или это нужно делать с помощью Swing?
Предполагая, что ваш этап - "этап", а файл находится в файловой системе:
В соответствии с комментарием ниже, если он завернут в содержащую банку, вам нужно вместо этого использовать следующий подход:
Я пробовал это, и это работает:
Еще один простой способ вставить свой собственный значок в строку заголовка в JavaFX - добавить изображение на основной этап, используя следующий метод:
Убедитесь, что вы импортируете javafx.scene.image.Image (при использовании ide, например netbeans, это должно выполняться автоматически за вас).
Если у вас есть Invalid URL or resource not found , поместите ваш icon.jpg в папку «bin» в вашем рабочем пространстве.
Переключить значки во время выполнения:
В дополнение к приведенным здесь ответам я обнаружил, что после того, как вы впервые назначили значок своему приложению, вы не можете переключить его, просто добавив новый значок на свою сцену (это было бы полезно, если вам нужно переключить значок вашего приложения). приложение из включения / выключения включено / выключено).
Чтобы установить новый значок во время выполнения, используйте getIcons (). Remove (0) перед попыткой добавить новый значок, где 0 - это индекс значка, который вы хотите переопределить, как показано здесь:
Чтобы получить доступ к этапу из других методов или классов, вы можете создать новое статическое поле для этапа в основном классе, чтобы получить к нему доступ из метода start (), инкапсулируя его в статический метод, к которому вы можете получить доступ из любого места в своем приложении. .
Если вы запустите файл jar, код, указанный Майклом Берри, изменит значок в строке заголовка и на панели задач. Значок ярлыка нельзя изменить.
Если вы запускаете родную программу, скомпилированную с помощью com.zenjava, вы должны добавить ссылку на значок программы:
Это добавит значок к ярлыку и панели задач.
Я использовал это в своем приложении
Вот окно - сцена.
Это хорошая привычка делать папку изображений в папке src и получать изображения из нее.
Вы можете легко поместить значок в свое приложение, используя эту строку кода
Stage.getIcons (). add (новое изображение ("путь к изображению"));
Используя этот метод, вы можете добавить несколько значков разных размеров. Изображения должны быть разных размеров одного и того же изображения, и будет выбран лучший размер. eg. 16x16, 32,32
Папка изображений должна находиться в папке ресурсов.
Что вы думаете о создании нового пакета, например image.icons, в каталоге src и перемещении туда изображений .jpg? Тогда вам просто нужно написать:
Это решение отлично работает для меня, но все же я не уверен, правильно ли оно (здесь новичок).
Если ваш icon.jpg находится в каталоге ресурсов и не забудьте поставить '/', иначе он не будет работать
Если у вас есть папка с изображениями и в ней сохранен значок, используйте этот
И если вы используете его напрямую из своего пакета, что не является хорошей практикой, используйте это
И если у вас есть структура папок, и у вас есть значок внутри, используйте
Вы можете добавить его в fxml. Сценический уровень
Полная программа для начинающих :) Эта программа устанавливает иконку для StackOverflowIcon.
Вывод скриншота
Код менять не нужно. Он по-прежнему отлично работает. Протестировано и проверено в Java 1.8 (1.8.0_45). Путь может быть установлен как локальный, так и удаленный, поддерживаются оба варианта.
и когда я запускаю проект из Netbeans, он работает нормально: значок появляется в верхнем левом углу окна и на панели задач. Изображение находится в корневом каталоге проекта.
Когда я очищаю и строю проект, он генерирует два установщика: один exe и один msi; и когда я устанавливаю приложение и открываю его, в окне нет значка sicadcam.jpg, у него есть значок логотипа java по умолчанию.
Как и где я могу установить путь к изображению, чтобы при установке приложения появился значок.
спросил(а) 2013-05-28T07:14:00+04:00 8 лет, 6 месяцев назадЭто лишь частичный ответ на вопрос, поскольку мне не удалось создать автономный пакет, который показывает значок установленного приложения на панели задач Windows. Возможно, я пропустил один шаг, возникли проблемы с окружающей средой или конфигурация значков для автономных приложений может быть немного ошибкой и может быть исправлена в последующих выпусках. Тестирование продолжалось: jdk7u21, NetBeans 7.3, Win7, InnoSetup.
Получите изображение значка из ресурса, а не из файла.
Например, если вы поместите изображение в исходный каталог вашего класса приложения:
Для установленного приложения это только установит значок, отображаемый в верхнем левом углу экрана. Чтобы установить значок панели задач, рабочего стола и т.д., Следуя инструкциям в разделе разделе "Самостоятельная упаковка" Руководства по развертыванию JavaFX, вы там.
Например, чтобы получить значок для установщика на моем Windows 7 для моего автономного приложения, мне нужно было поместить значок в <netbeansprojectdir>/package/windows/<myappname>.ico (должен быть .ico для установщика-установщика, чтобы его забрать) file И убедитесь, что мой путь ant был настроен правильно, как описано в Как изменить собственный значок интерфейса JavaFx EXE (надеюсь, что настройка руководства ant не потребуется в позже выпусков NetBeans/JavaFX).
Загрузите приложение примера ансамбля из Oracle и посмотрите, как там размещается каталог пакетов для значков на платформе. К сожалению, когда я попытался построить Ensemble из командной строки, я также не смог заставить Windows 7 использовать значок Ensemble на панели задач, когда Ensemble был установлен и выполнен как автономное приложение.
Убедитесь, что ваша система сборки копирует ваш значок в файл jar, содержащий ваше приложение. Чтобы проверить это, перейдите в каталог приложения вашего установленного приложения и запустите jar tvf <yourappjar>.jar = > он должен показать местоположение файла ресурсов значка в банке.
Читайте также: