2015-11-09 4 views
0

Я использую JavaFX для создания графического интерфейса для программного обеспечения, над которым я работаю. Я называю это программным обеспечением, но на самом деле это серия автоматических шагов, скомпилированных в автономный .exe-файл. У меня есть около 6 из этих исполняемых файлов, поэтому я создаю графический интерфейс, чтобы выступать в качестве основного, главного меню.Несколько общих вопросов о возможностях JavaFX

В идеале, у меня был бы весь пакет (GUI, exes), объединенный в один файл Jar, который я отправил бы клиентам, или обернуть его с помощью JSmooth или Launch4j.

Вопросы:

1) Можно ли объединить все 6 EXE-файлы в пакет вместе с GUI.? Поэтому, если я нажму кнопку 2 в графическом интерфейсе, он запустит .exe # 2 и т. Д. Какие понятия я должен понимать?

2) Является ли это лучшей практикой, или есть лучший метод? Я новичок в Java, поэтому я не создал с ним все программное обеспечение, а только графический интерфейс.

3) Я прочитал, что лучше всего извлечь exe из родительского jar (или exe?) Во временный файл на ПК пользователей. Это верно? Даже для нескольких обернутых exes?

Любой ответ полезен. Я пытаюсь избежать создания чего-то только, чтобы понять, что не могу делать то, что мне нужно. Спасибо

ответ

0

Было бы намного проще написать ответ, если бы вы были более конкретными относительно того, что делают эти файлы .exe. Тем не менее, можно отметить несколько вещей. Ответы находятся в том же порядке, что и вопросы.

  1. Да, вы можете упаковать файлы exe в банку. Нет, вы не можете запустить exe изнутри банки. Обычным решением является распаковка exe либо временно (пока ваше приложение активно), либо постоянно, а затем сообщите OS, чтобы выполнить его.
  2. Я не совсем уверен, к чему относится «наилучшая практика» в вашем вопросе. В идеале ваш логический (back-end) код будет написан на Java, и все ваши 6 exe-файлов будут частью одного приложения Java. Я уважаю, что вы новичок в Java, поэтому в вашем конкретном случае с интерфейсом к вашим исполняемым файлам это прекрасно. Однако имейте в виду, что ваше решение зависит от Windows, если вы не планируете предоставлять другие исполняемые файлы ОС.
  3. Да, вам нужно будет извлечь файлы exe. На самом деле не имеет значения, какой родительский исполняемый файл вы используете (exe или jar). Для простоты я пошел бы с банкой, потому что вам не нужно будет использовать стороннее программное обеспечение для создания такой банки.

Чтобы подвести итог, учитывая вашу ситуацию, упакуйте приложение JavaFX и файлы .exe в одну исполняемую банку. Когда пользователю нужно выполнить «.exe», извлеките «.exe» в тот же каталог, в котором работает JavaFX. Когда приложение выйдет, удалите все файлы «.exe» из этого каталога

+0

Отлично подведен! Большое спасибо AlmasB. Чтобы ответить, каждый .exe выполняет другую функцию. Например, один будет читать из текстового файла, а затем манипулировать значениями элемента XML-файла на основе содержимого. Другой открывает автоматический браузер, регистрируется на сайте, заполняет поля и сохраняет вывод в текстовый файл. Еще один запускает серию вызовов API, чтобы предоставить пользователю разнообразную информацию об их местоположении, таком как окрестности, улицы, учреждения и т. Д. Некоторые из них можно сделать с помощью Java, но пока я думаю, что exe ОК – Mathomatic