Существует довольно много фреймворков gui для java, но что признано сегодня выбором выбора?
Следующее - это мое понимание различных фреймворков, пожалуйста, исправьте меня, если я ошибаюсь. Это очень слабо определенный набор вопросов, но я все же считаю его ценным для любого, кто думает о создании богатых приложений gui.
Является самой основой качания, она хорошо работает, но ей не хватает продвинутых компонентов. Если вы собираетесь создавать богатые приложения, AWT, вероятно, не подходит. Однако для небольших приложений gui, которые не требуют богатых пользовательских интерфейсов. Это может идеально сочетаться с проверенной и проверенной структурой.
На основе AWT, как указано выше. В раннем возрасте он считался медленным и искаженным и заставлял IBM создавать SWT для Eclipse. Однако с помощью Java 5 (или 6?) Swing стал основой выбора новых приложений. Swing имеет множество богатых компонентов, но в некоторых областях все еще не хватает. Одним из примеров является отсутствие полнофункционального компонента TreeTable, который может выполнять сортировку и фильтрацию/поиск.
Созданные IBM для Eclipse, они, казалось, думали, что Swing в то время не был подходящим для Eclipse. Сам по себе довольно низкий уровень, и он использует собственные виджеты платформы через JNI. Это не связано с Swing и AWT. Их API, однако, несколько неуклюжий и не интуитивный. У них есть некоторые продвинутые компоненты, такие как TreeTable. (но я не думаю, что они поддерживают сортировку и фильтрацию из коробки). SWT использует некоторые собственные привязки (через JNI?), А разглашение в Интернете заключается в том, что эта структура не должна использоваться в сегодняшних проектах. (почему бы и нет?)
На основе Swing и его миссия - создавать богатые компоненты для качелей. Все еще находится в стадии разработки. (не очень активно, хотя.) Имейте очень хороший набор компонентов, например, TreeTable. Но TreeTable не поддерживает фильтрацию и сортировку, насколько я знаю. Тем не менее он поддерживает поиск с подсветкой.
Обратите внимание, что SwingX - это компоненты (AFAIU), которые являются расширениями или составы существующих компонентов Swing
JGoodies
Структура, о которой я ничего не знаю... Что это за сильные и слабые стороны? Что отличает Jgoodies от остальных?
JGoodies OTOH - это PLAF и макеты.
Последний флагман Java/Oracle. обещая быть факто стандартным при разработке богатых настольных или веб-приложений.
Он отображает пользовательский интерфейс с использованием Java2D, тем самым минимизируя влияние (IMO, раздутого) наследия Swing и AWT. (@Augustus Thoo)
Основное внимание, по-видимому, уделяется RIA (богатым интернет-приложениям), но, похоже, оно также может быть применено к настольным приложениям. И как личный комментарий, выглядит очень интересно! Мне особенно нравится проект Apache.
https://cwiki.apache.org/PIVOT/frequently-asked-questions-faq.html
Оболочка java для собственной qt-библиотеки, которая написана в c/С++. Очень мощный, широко используемый и принятый. Обладает большим количеством компонентов GUI и простым в использовании API.
Итак, чтобы попытаться кратко изложить то, что я спрашиваю:
Скажем, я хотел создать настольное приложение сегодня на Java, которое включает в себя множество продвинутых компонентов, что выбрать? И почему?
Какую из этих структур следует признать устаревшей и которая должна быть признана основой будущего?
Что такое сегодняшняя де-факто стандартная структура и какие инструменты вы используете для создания приложений java gui?
Я мог бы пожалеть об этом, но я все равно пробовал:
С#/. Говорят, что сеть имеет очень хороший набор простых в использовании компонентов, которые можно согнуть в любом направлении. И после изучения различных java-фреймворков в какой-то степени я не могу сказать то же самое о Java. Почему это? Почему java (который является наиболее широко используемым языком программирования в мире) имеет один и тот же набор компонентов GUI?
Это только то, что java основывает свои компоненты gui на гораздо более низком уровне, и можно написать все эти продвинутые компоненты, которые они ищут, но вам нужно сделать много, если не всю работу самостоятельно?