Как “профессионалы” делают GUI в Java?

Спасибо за Ваши ответы на мой предыдущий вопрос о GUI в Java. Я теперь задаюсь вопросом, что решения выбраны профессионалами для получения хорошего GUI для "реальных" приложений. Вы используете колебание и JComponents и просто изменяете "стиль"? Вы предпочитаете awt или другую библиотеку?

Извините, если тот вопрос звучит странным, я - студент, и я действительно не знаю, как Java используется в реальном мире...

18
задан Community 23 May 2017 в 11:54
поделиться

7 ответов

В нашей компании мы используем Swing, поскольку он поддерживается JVM "из коробки", но мы используем цветовую кодировку фона для некоторых панелей и кнопок. .

Если бы мы использовали что-то другое, например SWT или Jambi , нам также пришлось бы развернуть эти фреймворки для всех платформ и протестировать эти фреймворки для всех ОС и (поддерживаемых) версий Java. Совсем не приятно.

Однако создать хорошее адаптивное приложение с помощью Swing довольно сложно; так что вам действительно нужно использовать SwingWorker и тому подобное.Однако, имея некоторый опыт, вы можете создать таким образом хорошее приложение.

И даже если это не самый быстрый фреймворк для разработки, время разработки действительно мало по сравнению с определением функциональных требований пользовательского интерфейса, а также тестированием и поддержкой при выпуске версии.

Тем не менее, наша цель - настольные компьютеры. Если вы ориентируетесь на мобильные устройства или вам также нужен веб-интерфейс, ваш выбор может отличаться.

9
ответ дан 30 November 2019 в 09:11
поделиться

По моему опыту, большинство организаций, которые хотят создавать богатые графические интерфейсы пользователя, по-прежнему используют Swing и вручную преодолевают все неприятности менеджеров по компоновке и т. Д.

Использование SWT довольно ограничено организациями, которые используют Eclipse RCP в качестве своей платформы. Я не уверен, почему это не прижилось за пределами этой платформы.

Печально это признать, но графические интерфейсы Java Swing обычно не выглядят хорошо, если только вы не потратите много времени на создание для них более естественного ощущения. Даже в этом случае они часто теряют эстетику по сравнению с эквивалентными программами, написанными специально для Windows и использующими оконные API, такие как WinForms.

1
ответ дан 30 November 2019 в 09:11
поделиться

Мы обычно используем Swing, потому что он поддерживается в стандартных JRE из коробки. Обычно мы делаем начальный дизайн формы и подключаем события в Netbeans, а затем экспортируем ее в любое удобное для нас приложение, например, в Eclipse.

Netbeans выдает чистую Java, используя стандартные библиотеки (плюс пару jar, которые нужно включить), поэтому нет ничего сложного в том, чтобы разработать форму в Netbeans, а затем перейти к чему-то другому.

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

1
ответ дан 30 November 2019 в 09:11
поделиться

Я не верю, что кто-то больше предпочитает AWT. Swing полностью вытеснил его одиннадцать лет назад, построив его поверх, чтобы исправить недостатки в конструкции AWT 1.0.

Swing - не единственный способ, которым профессионалы создают пользовательские интерфейсы Java. Это работает для настольных компьютеров, но теперь есть и JavaFX. Для Интернета пользовательские интерфейсы создаются с использованием HTML, CSS, JavaScript и JSP.

4
ответ дан 30 November 2019 в 09:11
поделиться

Самые достойные приложения, которые я видел за последние годы, были созданы с использованием Eclipse Rich Client Platform

Eclipse использует Standard Widget Toolkit

и предоставляет Graphical Editing Framework (GEF)

1
ответ дан 30 November 2019 в 09:11
поделиться

Macintosh OS X создает собственную среду выполнения Java. Они придают компонентам Swing такой же внешний вид, как и собственные приложения.

Я использую строго Swing. Я распространяю «настоящие» настольные приложения через Web Start как для Mac, так и для Windows, которые взаимодействуют с пользовательским устройством чтения смарт-карт.

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

0
ответ дан 30 November 2019 в 09:11
поделиться

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

1
ответ дан 30 November 2019 в 09:11
поделиться
Другие вопросы по тегам:

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