У меня есть приложение, разработанное на Java, которое почти готово для распространения. Тем не менее, у меня есть проблема переключения с моего развития env на публикацию env и обратно в развитие. Например, в Eclipse, если я просто хочу выполнить пробный запуск с помощью кнопки запуска, мне нужно изменить код, чтобы отображались мои JMenuItems.Код распространения Java по сравнению с кодом разработки
В моей среде разработки я имел следующее, что работал хорошо:
JMenuItem[] appItems = new JMenuItem[2];
appItems[0] = new JMenu("New");
appItems[0].setIcon(new ImageIcon(../POS_System/images/new_icon_sm.png")));
Но, как я рядом с развертыванием, чтобы заставить это работать в развертываемых JAR, мне нужно изменить код:
JMenuItem[] appItems = new JMenuItem[2];
appItems[0] = new JMenu("New");
appItems[0].setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/new_icon_sm.png")));
Это для того, чтобы достичь в ЕАО и получить соответствующее изображение.
У меня есть много этих JMenuItems. Мне бы очень хотелось иметь возможность протестировать приложение с помощью кнопки запуска в Eclipse, а также создать JAR без изменения кода.
Есть ли простой способ сделать это? Я думал, что метод getResource все равно позволит мне использовать JMenus, JMenuItems и т. Д., Но они недоступны, когда я запускаю программу из Eclipse. Кажется глупым, что мне придется продолжать переходить туда и обратно.
Я ценю любую помощь здесь.
Это может быть дубликат этого вопроса: http://stackoverflow.com/questions/12290265/load-image-to-program-to-work-with-jar См. Мой ответ на этот вопрос для примера как загружать изображения в среду разработки и производства с помощью одного и того же кода. – CodeBlind
Спасибо за ответ Бен. Я должен сказать, однако, что эта техника кажется вроде «клочом». Я также предпочел бы, чтобы моя файловая система была организована, чтобы изображения не были в папке src, где я сохраняю java-пакеты. У кого-то еще есть идеи? Если я буду использовать эту технику, я буду, но предпочел бы этого не делать. – Matt
Единственный другой вариант, о котором я знаю, состоял бы в том, чтобы сохранить папку изображений где-то относительно текущего рабочего каталога. Таким образом, в вашей среде IDE это будет [папка проекта]/изображения, а затем [установочная папка]/изображения. Но для меня это похоже на больше, чем сохранение всех неизменных образов в банке, скрытых от конечного пользователя. – CodeBlind