Java Swing: библиотеки, инструменты, менеджеры макетов
Какие библиотеки/инструменты у вас есть в наборе инструментов Java Swing Tool?
- XUL
- Менеджеры макетов
- упаковщиков/монтажники
- Книги
- и т.д.....
Ответы
Ответ 1
Вот что я использую:
- "Framework" : Swing Application
Framework, не делает многого, но делает
это довольно хорошо (если вы его используете, вы можете
хочу взглянуть на one
презентация Я сделал в прошлом году)
- JTables: обработка таблиц часто является
боль (много шаблонов кода...); я
обычно используйте GlazedLists, который
упрощает работу (и приносит
многие улучшения)
- EventBus: это было упомянуто в
другой ответ
- LayoutManager: DesignGridLayout
(бесстыдная плагин, это один из моих
проекты с открытым исходным кодом)
- Посмотрите и почувствуйте: Substance очень хорошо
в некоторых ситуациях, когда вы не
хотите использовать внешний вид системы.
- Библиотека док-станции: если ваше приложение
требуется стыковка, вы найдете MyDoggy
полезный (и он хорошо написан
API). Одна из проблем, с которой он сталкивается, - это плохая интеграция с некоторыми сторонними взглядами и чувствами (например, вещество).
Все эти библиотеки выше с открытым исходным кодом.
В дополнение к этому у меня есть свой собственный набор служебных классов, который, среди прочего, помогает интегрировать GUI с библиотекой Injection Dependency: у меня есть набор утилит для HiveMind (для нескольких разработчиков, которые его знают и до сих пор используют), а другой - в процессе подготовки, вскоре открывается sourced- для Guice.
Я не читал никакой конкретной книги о разработке Swing, но я использовал Swing уже около 10 лет (но не постоянно). Поэтому у меня нет рекомендаций в отношении книг (к сожалению, потому что я признаю, что это одна из слабых точек Swing).
Книга "Filthy Rich Clients" полезна, только если:
- Вы знаете, что Swing хорошо
- вы хотите создать "причудливые" графические интерфейсы.
Ответ 2
Spring Rich Client и JGoodies являются базой моих графических приложений моей команды; Spring удаленный доступ для подключения к серверу и Java Web Start для развертывания.
Ответ 3
В основном я использую GridBagLayout для производственного кода, если графический интерфейс не настолько прост, что я могу уйти с BorderLayout. Я иногда заглядываю в другие LayoutManager, но никогда не нашел необходимости меняться, так как GridBagLayout может делать практически все, что мне нужно.
Установщик, который я использую для своих собственных вещей, izPack и работает для меня до сих пор.
Прошло много времени с тех пор, как я действительно прочитал книги Swing. Очевидно, что Java Swing один из O'Reilly является де-факто библией:)
Когда дело доходит до книг по дизайну, у меня есть много рекомендаций, но это может быть не в тему?
Ответ 4
Netbeans с GUI WYSIWYG editor. Это упрощает создание форм Java 6 Swing. Я подклассифицирую формы, чтобы добавить функциональность, чтобы обеспечить постоянную поддержку инструмента.
Я также использовал SwingX для виджетов, таких как сборщики дат и разборные панели.
Плюс там всегда SwingWorker в JRE для запуска фоновых заданий, которые обновляют пользовательский интерфейс.
Ответ 5
Две полезные библиотеки Swing:
-
Swing Application Framework - это легкая структура, которая упрощает создание и поддержку приложений для настольных приложений малого и среднего размера Java, Структура состоит из библиотеки классов Java, которая поддерживает конструкции для таких вещей, как:
- Сохранение состояния между сеансами.
- Простое управление действиями, в том числе
работа в качестве фоновых задач и
указав поведение блокировки.
- Расширенное управление ресурсами,
включая внедрение ресурсов для bean
свойства.
Вот статья об этом. Он был интегрирован с Netbeans 6.0 и более поздними версиями.
-
EventBus - это ориентированная на Swing структура подписчика издателя, которую я нашел очень полезной для обновления графических интерфейсов.
Ответ 6
На самом деле это не инструмент, но я работал над аннотацией важных вещей в JavaDocs для Swing (и нескольких других API). Слишком много методов содержат такие сюрпризы, как "не называйте это, если вы хотите обновить, вызовите X вместо". Я использую инструмент, который я создал для своего PhD, чтобы получить доступ к такой информации (он выделяет вызовы в исходном коде методам, которые имеют такие вещи).
IMHO, JavaDocs для swing трудно использовать, поскольку они объединяют информацию, предназначенную для людей, использующих объект и людей, подклассифицирующие существующие классы.
Ответ 7
Для книг ознакомьтесь с ответами на Книги программирования Swing.