Как добавить значок в качестве ресурса пути к окну SWT, созданного с помощью WindowBuilder?

Я пытаюсь добавить внешний значок из файла *.ico в окно, которое я создаю, используя окно окна WindowBuilder. Я могу выбрать оболочку, которая отображает поле свойств "изображение". alt text Появится диалоговое окно выбора избранного: alt text

Как создать значок в этом меню в качестве ресурса classpath? Изображение работает, если задан абсолютный путь, но я не хочу использовать этот параметр в своем приложении.

Спасибо!

Ответ 1

Чтобы легко добавить значок в мой путь к классам, я нашел нужный значок, щелкнул его правой кнопкой мыши, выбрал "копировать", затем перешел в один из пакетов моего проекта в Eclipse, щелкнул правой кнопкой мыши и выбрал "вставить". В следующий раз, когда я отобразил диалоговое окно выбора изображения, у моего локального пакета был значок, указанный как доступный ресурс класса, и я его выбрал. image chooser

Мне удалось экспортировать проект в runnable JAR, и значок все еще работал.

Ответ 2

Решение, которое я нахожу для работы, - создать банку, содержащую ваши изображения, и добавить ее в свой путь к классу. Затем вы сможете выбрать их из диалога во втором снимке экрана.

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

Ответ 3

Чтобы добавить какой-либо поддерживаемый образ в ваш проект, просто щелкните правой кнопкой мыши по папке "src" вашего проекта и "Новый... Пакет..." и в разделе "Имя" укажите, например, "ресурсы". После этого вам нужно только скопировать свои изображения. Когда вы экспортируете проект в исполняемый JAR, все ресурсы объединяются и работают нормально.

Ответ 4

Я не знаю, как это сделать в WindowBuilder, но вы можете указать ресурс Image при построении Shell через setImage() или setImages(). Я предлагаю использовать последнее, потому что он предоставляет платформу с различными значками разрешения, включая окно управления, панель задач Windows и список вкладок alt +.

Взгляните на этот фрагмент.

Чтобы загрузить его с ресурса:

final Image small = new Image(shell.getDisplay(),
        "resources/images/icon_16.png");
final Image large = new Image(shell.getDisplay(),
        "resources/images/icon_32.png");
final Image[] images = new Image[] { small, large };
shell.setImages(images);

В этом примере у меня есть подпапка "resources", содержащая "изображения", а затем два PNG. Указание ресурса JAR должно работать аналогичным образом, хотя я его не пробовал.

Ответ 5

В моем случае WindowBuilder распознал формат *.ico, но не заменил значок Java по умолчанию своим специальным значком. Только когда я преобразовал *.ico в *.png(через этот удобный онлайн-инструмент), WindowBuilder наконец изменил значок Java по умолчанию на мой пользовательский "значок", хотя это действительно PNG. Я ожидал, что WindowBuilder сможет распознать формат ICO.

Ответ 6

В Eclipse Juno 4.2. выбор изображения часто не показывает папку ресурса (например, из проекта Maven-структуры: src/main/resources. Предположительно, это ошибка.

Если вы удалите и затем явно добавите папку ресурса с опцией include в окне пути сборки Java (вкладка "Источник" ), она появится. Даже после удаления опции "включить" и установки ее на "Все" она все равно будет отображаться.

Конечно, вы можете удалить и добавить непосредственно из контекстного меню, щелкнув правой кнопкой мыши папку src/main/resources.