Подтвердить что ты не робот

Java Swing: библиотеки, инструменты, менеджеры макетов

Какие библиотеки/инструменты у вас есть в наборе инструментов Java Swing Tool?

  • XUL
  • Менеджеры макетов
  • упаковщиков/монтажники
  • Книги
  • и т.д.....
4b9b3361

Ответ 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 трудно использовать, поскольку они объединяют информацию, предназначенную для людей, использующих объект и людей, подклассифицирующие существующие классы.