2013-01-21 2 views
0

У меня есть приложение, разработанное на 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. Кажется глупым, что мне придется продолжать переходить туда и обратно.

Я ценю любую помощь здесь.

+1

Это может быть дубликат этого вопроса: http://stackoverflow.com/questions/12290265/load-image-to-program-to-work-with-jar См. Мой ответ на этот вопрос для примера как загружать изображения в среду разработки и производства с помощью одного и того же кода. – CodeBlind

+0

Спасибо за ответ Бен. Я должен сказать, однако, что эта техника кажется вроде «клочом». Я также предпочел бы, чтобы моя файловая система была организована, чтобы изображения не были в папке src, где я сохраняю java-пакеты. У кого-то еще есть идеи? Если я буду использовать эту технику, я буду, но предпочел бы этого не делать. – Matt

+0

Единственный другой вариант, о котором я знаю, состоял бы в том, чтобы сохранить папку изображений где-то относительно текущего рабочего каталога. Таким образом, в вашей среде IDE это будет [папка проекта]/изображения, а затем [установочная папка]/изображения. Но для меня это похоже на больше, чем сохранение всех неизменных образов в банке, скрытых от конечного пользователя. – CodeBlind

ответ

0

Если вы не хотите перемещать свои изображения в папку src /, как вам было предложено, то в Eclipse вы должны обновить конфигурацию Eclipse в Project Prooperties -> Java Build Path и добавить дополнительную исходную папку, это один указывает на то, где вы держите свои изображения. Я верю, что это исправит.

Смежные вопросы