corner imagecorner image
FeaturesPluginsDocs & SupportCommunityPartners

Введение в платформу приложений Swing

Данное руководство представляет собой вводный обзор поддержки платформы приложений Swing в среде IDE NetBeans 6.0.

Содержание

Содержимое на этой странице относится к среде IDE NetBeans 6.0 и 6.1

Для работы с этим руководством требуется программное обеспечение и ресурсы, перечисленные ниже.

Программное обеспечение или ресурс Требуемая версия
Среда IDE NetBeans версия 6.1 или
версия 6.0
Комплект для разработчика на языке Java (JDK) версия 6 или
версия 5

Введение: платформа приложений Swing в среде IDE NetBeans 6

Платформа приложений Swing – визуальная платформа, которая упрощает создание и поддержку небольших и средних настольных приложений на Java. Эта платформа состоит из библиотеки классов Java, которая предоставляет средства для достижения следующих целей:

  • сохранение информации о состоянии между сеансами;
  • упрощение управления действиями, в том числе выполнение в виде фоновых задач и определение поведения при блокировке;
  • расширенное управление ресурсами, в том числе предоставление ресурсов для свойств компонента.

Среда IDE обеспечивает следующую поддержку для разработки приложений на основе платформы приложений Swing:

  • Предоставление шаблонов проекта настольного приложения на Java, который содержит скелетные реализации основных возможностей платформы. Можно выбрать один из следующих двух шаблонов:
    • Базовое приложение. Предоставляет базовую платформу, некоторые типовые пункты меню, строку состояния и механизмы для управления действиями и ресурсами.
    • Приложение для работы с базой данных. Предоставляет все возможности шаблона базового приложения, а также все возможности, необходимые для простого приложения для работы с базой данных с функциями создания, чтения, обновления и удаления. Пример использования такого шаблона приведен в разделе Создание настольного приложения на Java для работы с базой данных.
  • Интеграция возможностей платформы в GUI Builder среды IDE. Приложения платформы приложений Swing разрабатываются в среде IDE подобно всем прочим приложениям Swing.
  • Создание текста UI приложения и других ресурсов в файлах .properties.
  • Специальный редактор свойств для действий, который позволяет связывать действия с клавиатурными ускорителями, текстом и появляющимися подсказками. Кроме того, можно настроить свойства таким образом, чтобы был возможен выбор или включение свойств, а также асинхронное выполнение действия.
  • Автоматическая упаковка библиотеки платформы приложений Swing в папке dist/lib проекта при сборке приложения в среде IDE.

Примечание: В качестве платформы приложений также может использоваться платформа NetBeans. Основным различием между платформой приложений Swing и платформой NetBeans в этом отношении является объем имеющихся возможностей. Платформа приложений Swing более проста и удобна для начинающих. Платформа NetBeans имеет в своем составе гораздо больше функциональных возможностей; ее целесообразнее использовать для крупных и расширяемых приложений. Для получения дополнительных сведений о разработке приложений на платформе NetBeans см. Учебная карта по платформе NetBeans.

Создание приложения на основе платформы приложений Swing

Для получения всех преимуществ от поддержки платформы приложений Swing в среде IDE рекомендуется использовать шаблон проекта настольного приложения на Java.

Для создания нового проекта приложения платформы приложений Swing:

  1. Выберите "File > New Project".
  2. Выберите категорию "Java", а затем выберите шаблон "Java Desktop Application". Нажмите кнопку "Next".

    Мастер создания проекта с выбранным шаблоном настольного приложения на Java

  3. На странице мастера "Name and Location" введите значения в требуемые поля:

    Пример экрана "Name and Location" мастера создания проекта для шаблона настольного приложения на Java

    В случае выбора шаблона "Basic Application" нажмите кнопку "Finish" для создания проекта на компьютере пользователя и откройте проект в окне "Projects" и окне "Files".

    Если выбран шаблон "Database Application", нажмите кнопку "Next" для определения таблицы базы данных и настройки основного/подробного представления базы данных.

Создаются файлы со следующим содержимым:

  • Класс приложения, который имеет в своем составе метод main(), метод startup платформы и методы некоторых других служебных программ. Этот класс расширяет класс платформы SingleFrameApplication.
  • Класс представления, который используется в качестве главного окна приложения. Этот класс расширяет класс FrameView платформы и инкапсулирует JPanel. Этот класс можно изменить в GUI Builder.
  • Пример окна "About" для приложения.
  • Файлы .properties для хранения ресурсов приложения.

Создание и настройка действий

Платформа приложений Swing позволяет определять действия и осуществлять управление этими действиями.

Как указано в руководстве по Java, "объект "действие" – это прослушивающий процесс действия, который обеспечивает не только обработку событий действия, но и централизованную обработку состояния элементов, зависящего от определенных событий или действий, например, кнопок на панели инструментов, пунктов меню, стандартных кнопок и текстовых полей. Состояние, зависящее от действия, может относиться к тексту, значку, мнемоническому символу, статусу "разрешено" или "выбрано".

Аннотация &Action, используемая в платформе, позволяет отметить метод, посредством которого реализуется метод actionPerformed соответствующего действия. На последующих этапах этот метод используется в платформе для выполнения данного действия. Кроме того, можно указать различные атрибуты для действия, определяющие, например, разрешенное состояние действия, поведение действия при блокировке или необходимость выполнения действия в фоновом режиме.

В среде IDE имеется диалоговое окно "Set Action", в котором можно создать код для действий, в том числе аннотацию и любые атрибуты. В диалоговом окне "Set Action" имеются следующие возможности:

  • настройка элемента для использования определенного действия;
  • создание скелетных действий;
  • настройка свойств интерфейса пользователя для действия, например, имени, появляющегося на отображаемом элементе, текста подсказки, значков и сочетаний клавиш;
  • создание логического свойства для определения того, включено ли данное действие;
  • создание логического свойства для определения того, выбрано ли данное действие (это применимо только в отношении элементов, не являющихся пунктами меню, которые имеют свойство selected, например, переключателей);
  • настройка действия для выполнения в виде фоновой задачи;
  • настройка действия для блокирования других действий до завершения его выполнения.

Для открытия диалогового окна "Set Action" выберите один из следующих способов:

  • Щелкните элемент правой кнопкой мыши и выберите "Set Action".

    Пример экрана с пунктом меню "Set Action", который появляется после щелчка правой кнопкой мыши элемента в режиме проектирования

  • Выберите элемент и нажмите кнопку с многоточием (...) рядом со свойством action в окне "Properties".

    Пример экрана, иллюстрирующий нажатие кнопки с многоточием для свойства "action" в таблице свойств элемента с целью вызова диалогового окна "Set Action"

Диалоговое окно "Set Action" состоит из следующих полей:

  • Set Action Property Using. Обеспечивает возможность выбора из нескольких редакторов свойств для настройки свойства action. Имеются следующие варианты выбора:
    • Default editor. Обеспечивает визуальную поддержку при создании кода на основе возможностей платформы приложений Swing.
    • Value From Existing Component. Позволяет указать элемент для получения значения свойства.
    • Custom Code. Позволяет ввести код для установки значения свойства вручную в текстовом поле.

    В этом разделе справки описаны только возможности редактора по умолчанию (вариант "Default Editor").

  • Action. Из этого поля списка можно выбрать действие для присвоения элементу.

    В этом списке перечислены только методы, имеющие аннотацию @Action. Если метод, который требуется использовать, не имеет этой аннотации, выйдите из диалогового окна и добавьте аннотацию к методу.

    Если метод для действия еще не создан, выберите "Create New Action". Это позволяет ввести имя метода в поле "Method" данного действия. Кроме того, следует убедиться в том, что в поле "Text" введен текст, который должен использоваться для элемента. После нажатия кнопки "OK" для выхода из диалогового окна автоматически создается скелетное действие.

    Примечание: После присвоения действия элементу свойства text, toolTipText и icon этого элемента получают значения согласно настройкам, указанным в диалоговом окне "Set Action". Свойства для элемента, установленные ранее, переопределяются в соответствии со значениями, введенными в диалоговом окне "Set Action". Однако существует возможность возврата к таблице свойств элемента с целью настройки значений, требуемых для данного элемента. В запущенном приложении будут использоваться свойства, установленные специально для данного элемента.

  • Action's Class. В случае создания нового действия это поле списка позволяет выбрать класс, которому принадлежит действие.
  • Action's Method. В случае создания нового действия это текстовое поле позволяет определить имя метода для создаваемого действия.
  • Background Task. Если этот флажок установлен, действие выполняется в фоновом режиме. Это целесообразно в том случае, если выполнение действия занимает продолжительное время, и в процессе выполнения пользователь должен иметь возможность работать с UI.
  • Атрибуты, вкладка "Basic":
    • Text. Здесь вводится текст, который должен использоваться для отображаемых элементов этого действия, например, кнопок или пунктов меню.
    • Tool Tip. Здесь вводится произвольный текст, который должен появляться при наведении указателя мыши на какие-либо элементы, связанные с действием.
    • Accelerator. Определяет сочетание клавиш для действия. Для определения требуемого сочетания клавиш выберите поле "Letter" и нажмите соответствующие клавиши. Флажки для любых используемых модифицирующих клавиш, например Ctrl и Shift, выбираются автоматически.
    • Icon. При необходимости с этим действием можно связать определенные значки. Для перехода к требуемым значкам используются кнопки "Small Icon" и "Large Icon".
    Пример диалогового окна "Set Action"
  • Атрибуты, вкладка "Advanced":
    • Enabled Property. При необходимости здесь можно выбрать логическое свойство компонента, значение которого определяет, включено данное действие или нет. Если такое свойство еще не создано, введите имя для свойства в текстовом поле. После нажатия кнопки "OK" для выхода из диалогового окна автоматически создается скелетное свойство.
    • Selected Property. При необходимости здесь можно указать логическое свойство компонента, значение которого определяет, выбрано данное действие или нет. Эта возможность применима только в отношении элементов, которые имеют свойство компонента selected, например, "JRadioButton" или "JToggleButton". После нажатия кнопки "OK" для выхода из диалогового окна автоматически создается скелетное свойство.
    • Blocking Type. Позволяет запретить взаимодействие пользователя с UI во время выполнения задачи. Варианты выбора в раскрывающемся списке определяют уровень применения блокировки. Например, можно установить блокировку для приложения в целом, либо только для определенного окна или элемента. Блокировка применяется только в отношении действий, определенных в качестве фоновых задач.
    • Blocking Dialog Title. Здесь можно определить заголовок диалогового окна, предупреждающего пользователя о том, что выполнение задачи еще не завершено.
    • Blocking Dialog Message. Здесь можно определить текст диалогового окна, предупреждающего пользователя о том, что выполнение задачи еще не завершено.

Примечания:

  • По умолчанию ресурсы для действия сохраняются в файле .properties, который имеет то же самое имя, что и файл .java для данного действия. Ключи свойств формируются на основе имени действия. Это относится к таким атрибутам, как текст, подсказка, горячая клавиша, мелкий значок, крупный значок, заголовок и сообщение о блокировке.
  • Обзор всех действий в проекте представлен в окне "Application Actions". Для вызова окна "Applications Window" выберите "Window > Other > Application Actions".
  • Управление ресурсами

    Платформа приложений Swing упрощает обработку ресурсов в приложениях и обеспечивает возможность сохранения различной информации в наборах ресурсов.

    Под ресурсами здесь подразумеваются объекты, которые используются приложением, но не сохраняются в файлах .java. В состав общих ресурсов программ Java входят файлы образа и базы данных. Кроме того, в качестве ресурсов могут использоваться и другие объекты, например строки, цвета и шрифты. Обработка строк в качестве ресурсов значительно упрощает локализацию приложения. Обработка других объектов в качестве ресурсов предоставляет возможность изменения значений этих объектов без изменения кода .java и повторной сборки приложения.

    Типичное приложение платформы приложений Swing содержит наборы ресурсов и на уровне приложения, и на уровне класса. Наборы ресурсов на уровне класса имеют те же самые имена, что и соответствующее классы .java, однако они имеют расширение имени файла .properties. Все эти наборы ресурсов инкапсулированы в объекте ResourceMap.

    Диалоговое окно "Project Properties" позволяет изменить некоторые стандартные ресурсы на уровне приложения (например, имени приложения). Ресурсы на уровне приложения, не отображаемые в диалоговом окне "Project Properties" (например, ресурсы, определяемые самостоятельно), можно изменить в файле .properties, имя которого соответствует имени главного класса приложения.

    Для вызова диалогового окна "Project Properties" щелкните узел проекта правой кнопкой мыши и выберите "Properties". Свойства приложения отображаются на панелях "Application" и "Desktop Application".

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

    Существует возможность настройки способа создания кода для обработки ресурсов.

    Для указания способа создания кода настройки для определенной формы:

    1. Откройте форму и перейдите к режиму проектирования.
    2. В окне "Inspector" выберите корневой узел формы.

      Пример окна "Inspector", в котором выбран верхний узел

    3. В окне "Properties" из раскрывающегося списка "Automatic Resource Management" выберите один из следующих вариантов.
      • Off. Все значения свойства жестко запрограммированы в файле .java.
      • Internationalization. Код ресурса создается для всех строк, и значения строк сохраняются в файле .properties.
      • All Resources. Код ресурса создается для всех строк, цветов, шрифтов и значков. Значения для этих свойств сохраняются в файле .properties.
      • Resources + Injection. Код создается таким образом, что значения свойств поступают в приложение из файлов .properties во время выполнения.
      Пример таблицы свойств для корневого узла формы

    Если значение определенного свойства не требуется сохранять в файле .properties, нажмите кнопку с многоточием (...) рядом с данным свойством в окне "Properties". Затем отмените выбор свойства "Define as Resource".

    Типовые проекты платформы

    Для рассмотрения примеров, иллюстрирующих работу платформы, можно перейти к обзору некоторых демонстрационных проектов на основе платформы в среде IDE. Платформа приложений Swing используется в проектах "Mars Rover Viewer" и "Document Editor". Они основаны на двух примерах, которые поставляются вместе с библиотекой платформы приложений Swing. Однако они были созданы повторно при помощи GUI Builder среды IDE и поэтому могут использоваться в качестве демонстрационных проектов для изучения средств визуального проектирования, предусмотренных в среде IDE.

    Для перехода к одному из этих примеров в среде IDE:

    1. Выберите "File > New Project".
    2. Выберите "Samples > Java Category". Затем выберите проект "Mars Rover Viewer" или проект "Document Editor".
    3. Экран мастера создания проекта с выбранным примером "Mars Rover Viewer"
    4. Выполните остальные действия в мастере.

    Дополнительная информация

    Для ознакомления с более общим обзором работы с GUI Builder в среде IDE см. Введение в разработку графического интерфейса.

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

    Для получения дополнительных сведений непосредственно о платформе приложений Swing см. https://appframework.dev.java.net/intro/index.html и http://java.sun.com/developer/technicalArticles/javase/swingappfr/.

    Для ознакомления с общими советами и рекомендациями по использованию GUI Builder в среде IDE NetBeans см. часто задаваемые вопросы по GUI Editor и блог Патрика Кигэна (Patrick Keegan).

    Для перехода к документации по интерфейсу API платформы приложений Swing непосредственно из среды IDE выберите "Help > Javadoc References > org.jdesktop.application (Swing Application Framework [JSR-296])". Кроме того, можно ознакомиться с документацией по классам платформы путем щелчка правой кнопкой мыши класса платформы или члена класса в редакторе исходного кода среды IDE и последующего выбора пункта "Show Javadoc".

Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   GlassFish Community: an Open Source Application Server   Open Solaris  Open JDK: an Open SourceJDK   Mobile & Embedded Community     Sponsored by 
Sponsored by Sun Microsystems