Описание тега action-interface

Интерфейс `Action` обеспечивает полезное расширение интерфейса`ActionListener` в тех случаях, когда к одной и той же функциональности могут обращаться несколько элементов управления.

Выдержка из документа Action API

public interface Action extends ActionListener

Action interface обеспечивает полезное расширение ActionListener интерфейс в тех случаях, когда к одной и той же функциональности могут обращаться несколько элементов управления.

В добавок к actionPerformed метод, определенный ActionListener интерфейс, этот интерфейс позволяет приложению определять в одном месте:

  • Одна или несколько текстовых строк, которые описывают функцию. Эти строки можно использовать, например, для отображения текста перехода для кнопки или для установки текста в пункте меню.
  • Один или несколько значков, которые изображают функцию. Эти значки можно использовать для изображений в элементе управления меню или для составных записей в более сложном пользовательском интерфейсе.
  • Включено / выключено состояние функциональности. Вместо того, чтобы отдельно отключать пункт меню и кнопку панели инструментов, приложение может отключить функцию, которая реализует этот интерфейс. Все компоненты, которые зарегистрированы как прослушиватели для изменения состояния, затем знают, что необходимо отключить генерацию событий для этого элемента и соответственно изменить отображение.

Этот интерфейс может быть добавлен к существующему классу или использован для создания адаптера (как правило, путем создания подклассов AbstractAction). Action Затем объект может быть добавлен в несколько контейнеров с поддержкой действий и подключен к компонентам с поддержкой действий. Затем элементы управления графическим интерфейсом можно активировать или деактивировать сразу, вызвав метод setEnabled объекта Action.

Обратите внимание, что Action реализации имеют тенденцию быть более дорогими с точки зрения хранения, чем типичные ActionListener, который не предлагает преимуществ централизованного контроля функциональности и трансляции изменений собственности. По этой причине вы должны позаботиться о том, чтобы использовать только Actions где их преимущества желательны, и использовать простые ActionListeners в другом месте.

Смотрите руководство к действию, чтобы начать