Что я должен выбрать SWT или Swing для программирования GUI в Java?

Я должен создать приложение GUI в Java. Я просто понял, что у меня есть различные дополнительные способы пойти (SWT, и Swing среди них).

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

Я не забочусь обо всех аспектах дилеммы. У меня просто есть перечисленный рев нескольких основных требований:

  1. Это должно быть просто в использовании (легкий создать то, что я хочу).
  2. В конце я хотел бы иметь всего один файл, который может быть легко выполнен (без любых дополнительных приемов, настроек и установок) как автономное приложение.
  3. Это должно быть независимо от платформы. Или более конкретно, приложение должно хорошо работать на Microsoft Windows и Ubuntu (Linux).
8
задан xtremohack 23 October 2014 в 11:12
поделиться

8 ответов

Исходя из ваших требований, я бы сказал Swing. SWT имеет более специфичный для платформы вид, но Java поставляется со встроенным Swing, нет необходимости возиться с внешними библиотеками, как с SWT, хотя использование Eclipse может сделать это намного проще (я все еще разрабатываю довольно много своих вещей из командная строка к сожалению).

Они оба просты в использовании (ну, легко, когда вы привыкнете к менеджерам компоновки) и будут отлично работать на обеих желаемых платформах, но поскольку единственное отличие, которое вас, кажется, заботит, это "без каких-либо дополнительных уловок , настройки и установки », я бы остановился на Swing.

Это мой совет. Не стесняйтесь принимать, игнорировать или даже называть меня старым болваном. Не обижусь: -)

6
ответ дан 5 December 2019 в 07:58
поделиться

Я бы предложил использовать библиотеки Java Swing, если вы не знакомы с разработкой Java GUI. Они очень хорошо документированы, и существует множество учебных пособий в режиме онлайн, в том числе на веб-сайте Sun Java ( здесь ).

Разработка графического интерфейса в Java не очень проста, но доступные инструменты постоянно улучшаются. Рекомендуется опробовать среду IDE NetBeans с хорошим визуальным дизайнером для графических компонентов. Я не использовал GUI-дизайнер Eclipse IDE, но я также собираю его хорошее. Вам нужно будет обойти голову вокруг модели MVC, но это должен быть хороший опыт обучения.

Короче говоря, мой голос идет за использование Swing/JFC, особенно если вы новичок в разработке Java GUI.

EDIT - Вы можете легко управлять внешним видом Java APP. Если вы используете независимую платформу (Metal), ваш графический интерфейс будет выглядеть в основном идентично в Windows и Linux. Конечно, приложение Java будет работать в Windows * nux только при наличии поддерживаемого JVM.

-121--3565866-

Я считаю, что визуальный редактор перетаскивания Netbeans и предварительно подключенный шаблон приложения Swing Desktop гораздо проще использовать то, что поставляется в комплекте с Eclipse, поэтому я бы предложил это.

Он автоматически создаст исполняемый файл jar и позволит вам создать средство запуска Java Web Start, если вы хотите. И будучи Java, она не зависит от ОС.

Вот ссылка на учебные пособия быстрого запуска .

-121--3565871-

Я не могу добавить комментарий, потому что я здесь новый (пожалуйста, измените меня, чтобы я мог прокомментировать), но выбор Swing или SWT зависит от используемой среды IDE.

Если вы используете Eclipse, то оба в порядке.

Если вы используете бесплатный выпуск IntelliJ IDEA, вы предпочитаете использовать Swing, потому что редактор графического интерфейса IDE - "Только Swing".

Я так понимаю, вы используете Eclipse?

2
ответ дан 5 December 2019 в 07:58
поделиться

Исходя из ваших требований, я рекомендую использовать Swing:

  • SWT требует дополнительных встроенных библиотек (нарушает пункт 2),
  • Вы, вероятно, найдете больше учебных материалов по Swing (поскольку вы новичок),
  • Оба решения в некоторой степени независимы от платформы и поддерживаются на обеих платформах, о которых вы упомянули, но SWT не поддерживается одинаково на всех платформах
  • . Есть и другие инструменты WYSIWYG, поддерживающие Swing, которые могут помочь с кривой обучения.

Обратите внимание, что API-интерфейсы похожи, а иногда и идентичны, поэтому изучение одного дает вам преимущество перед другим.

2
ответ дан 5 December 2019 в 07:58
поделиться

По моему опыту, если вы хотите, чтобы разработка Swing была простой, вам нужно . Если вам нужна хорошая производительность, лучше подойдет SWT.

ПРИМЕЧАНИЕ. В последний раз я занимался разработкой графического интерфейса на Java 4 года назад.

0
ответ дан 5 December 2019 в 07:58
поделиться

Я бы посоветовал вам использовать библиотеки Swing Java, если вы не знакомы с разработкой графического интерфейса пользователя Java. Они очень хорошо задокументированы, и в Интернете есть множество учебных пособий, в том числе на веб-сайте Sun Java ( здесь ).

Разработка графического интерфейса на Java не очень проста, но доступные инструменты постоянно совершенствуются. Я предлагаю вам попробовать IDE NetBeans, в которой есть хороший визуальный дизайнер для компонентов графического интерфейса. Я не использовал конструктор графического интерфейса Eclipse IDE, но мне кажется, что он хорош. Вам нужно будет разобраться в шаблоне MVC, но это должен быть хороший опыт обучения.

Короче говоря, я голосую за использование Swing / JFC, особенно если вы новичок в разработке графического интерфейса Java.

РЕДАКТИРОВАТЬ - Вы можете очень легко управлять внешним видом Java-приложения. Если вы используете независимый от платформы (Metal) внешний вид, ваш графический интерфейс будет выглядеть практически идентично в Windows и Linux. Конечно, приложение Java будет нормально работать в Windows * nux, если установлена ​​поддерживаемая JVM.

3
ответ дан 5 December 2019 в 07:58
поделиться

Swing,

SWT работает в Ubuntu, но не так хорошо, как в Windows, по крайней мере, по моему опыту. Основная причина выбора SWT заключается в том, что вы хотите создать свое приложение на платформе Eclipse RCP (где вы получаете стыкуемые представления / редакторы, механизм плагинов, автоматические обновления, роли пользователей, справочный браузер, механизм предпочтений и т. приложение, чтобы иметь безупречный внешний вид.

1
ответ дан 5 December 2019 в 07:58
поделиться

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

Он автоматически создаст исполняемый файл jar, а также позволит вам создать средство запуска Java Web Start, если хотите. И будучи Java, он не зависит от ОС.

Вот ссылка на краткие руководства .

1
ответ дан 5 December 2019 в 07:58
поделиться

Я только что выполнил два Годовой проект создания бизнес-приложения, поэтому я явно сосредоточился на удобстве использования и скорости.

В конце концов, мое решение явно привело к SWT по следующим причинам:

  • Деловые пользователи обычно используют терминальные серверы и RDP для своих приложений. Каждое приложение Swing работает очень медленно по RDP, потому что приложение должно снова и снова отрисовывать каждый пиксель. Попробуйте использовать Photoshop или GIMP поверх RDP и начните прокрутку изображения. Такова производительность Swing в таблицах.
  • Некоторые очень хорошие компоненты графического интерфейса доступны только как COM-объекты. Я хотел иметь возможность использовать их, и, поскольку 100% всех коммерческих клиентов являются пользователями Windows, они принимают тот факт, что ваше программное обеспечение работает только в Windows. (У нас тоже есть клиенты linux, но только для терминалов машинного ввода, которым не нужен полноценный графический интерфейс Windows)
  • Мы используем SWTDesigner в качестве дизайнера графического интерфейса, который ничем не уступает SwingDesigner für Swing (оба являются лучших дизайнеров графического интерфейса). Они стоят своей цены, если вам нужно создать несколько сотен масок.
  • Наш графический интерфейс выглядит на 100% естественным, учитывает большие шрифты, которые они используют на своих рабочих столах, и работает быстро.

Мы очень довольны SWT, но у него есть некоторые недостатки:

  • Нативные компоненты Java немного редки. Есть еще кое-что о Swing-стороне жизни.
6
ответ дан 5 December 2019 в 07:58
поделиться
Другие вопросы по тегам:

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