Лучший способ создать Java Swing GUI?

До настоящего времени я использовал Swing Netbeans функция поколения GUI для создания GUI для моих JAVA-приложений.

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

5
задан Yatendra Goel 1 March 2010 в 05:02
поделиться

5 ответов

Вы можете продолжить кодирование вручную, но с помощью GroovyBuilders ( ссылка ), которые работают быстрее, чем использование простой Java, но вам нужно будет встроить Groovy lib внутри вашего приложения ..

в противном случае существует менеджер компоновки, называемый MIG Layout , который работает довольно хорошо (это намного практичнее, чем обычное создание графического интерфейса) ..

Я также использовал инструмент под названием JVider для создания некоторых простых приложений, но, используя визуальный подход, вы всегда получаете одну и ту же неприятную вещь: синхронизацию интерфейса и серверной части, учитывая также «привязки» между визуальными объектами и имя переменных ..

3
ответ дан 13 December 2019 в 22:06
поделиться

Я столкнулся с аналогичной ситуацией, но обнаружил, что NetBeans на самом деле имеет отличную функциональность «импорт проекта затмения». Итак, я закончил работу над визуальным дизайном графического интерфейса в NetBeans, но использовал Eclipse для кодирования, отладки и профилирования. Netbeans добавляет некоторые файлы в ваш проект, и вы можете настроить шаблоны автоматической генерации кода в NetBeans, но это решение, которое мне подходит. Конечно, Eclipse также поставляется со своим собственным конструктором визуального графического интерфейса пользователя, но я предпочитаю NetBeans для проектирования и разработки визуального графического интерфейса.

Импорт проектов Eclipse в NetBeans.

Проект визуального редактора Eclipse

1
ответ дан 13 December 2019 в 22:06
поделиться

По моему опыту, Netbeans почти так же хорош, как и для создания графических интерфейсов Swing, если вы хотите иметь возможность просто щелкнуть свое приложение вместе. Однако, как и вы, мне нравится кодировать в eclipse намного больше, чем в Netbeans (личные предпочтения, Netbeans по-прежнему отличный редактор, imo). Некоторое время я создавал свои графические интерфейсы в Netbeans, а затем просто импортировал проекты в eclipse.

Это работает нормально, но в конце, я думаю, вы придете к тому же выводу, что и я, что лучше всего изучить менеджеры компоновки и кодировать графический интерфейс вручную. Может быть, взгляните и на те, которые предоставлены JGoodies , если те, что предоставлены Sun, просто не делают этого за вас.

0
ответ дан 13 December 2019 в 22:06
поделиться

Проект визуального редактора Eclipse, упомянутый Лухаром, довольно хорош, он может использовать любой компонент Swing или awt в стиле bean-компонента и поддерживает редактирование уже существующих классов, поскольку он полагается на отражение вместо отдельных метаданных.
Также нет никаких ограничений на то, как вы можете манипулировать сгенерированным кодом, поскольку VEP сделает все возможное, чтобы сохранить его при изменении исходного файла.
Я бы порекомендовал более совершенную систему, если вы хотите использовать ее для более сложных компонентов, поскольку она требует значительных ресурсов.
Хорошие особенности VEP:

  • Поддерживает Swing / AWT / SWT
  • Использует исходный код и отражение, дополнительные данные не требуются
  • Может использоваться с уже существующими компонентами (см. Выше)
  • Можно редактировать код напрямую или в окне предварительного просмотра.
  • Создает чистый код без нарушения существующего кода

Не очень приятные вещи:

  • Медленно, не забудьте приостановить функцию предварительного просмотра при прямом редактировании исходного кода, он будет пытаться обновляться почти постоянно.
  • Не используйте окно предварительного просмотра, когда у вас есть ошибки компиляции в вашем коде, любые изменения, внесенные в предварительный просмотр, могут привести к неправильному редактированию в исходном коде. Перед повторным использованием необходимо устранить все ошибки компиляции.
1
ответ дан 13 December 2019 в 22:06
поделиться

Другой подход - использовать некоторую XML-библиотеку, например SwixML . Для работы с ним требуются некоторые изменения кода, но он довольно хорошо отделяет ваш пользовательский интерфейс от вашего кода. С другой стороны, это всего лишь оболочка для классов свинга. Это ИМХО и плюс, и минус. Это также довольно хорошая библиотека для быстрого прототипирования, потому что вы можете (обычно) пробовать диалог, пока он не станет достаточным.

0
ответ дан 13 December 2019 в 22:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: