Action
Action (액션 인터페이스)
동일한 기능을 여러 컨트롤에서 접근할 때 ActionListener 인터페이스에 유용한 확장을 제공하는 인터페이스입니다.
본문
ActionListener 인터페이스가 정의한 actionPerformed 메서드 외에도, 이 인터페이스는 애플리케이션이 한 곳에서 기능을 설명하는 텍스트 문자열, 기능을 나타내는 아이콘, 기능의 활성화/비활성화 상태를 정의할 수 있게 합니다. 메뉴 항목과 툴바 버튼을 각각 비활성화할 필요 없이 이 인터페이스를 구현한 기능 자체를 비활성화하면, 상태 변화를 리스너로 등록한 모든 컴포넌트가 표시를 조정합니다.
이 인터페이스는 기존 클래스에 추가하거나 AbstractAction을 상속하는 어댑터를 만들어 사용할 수 있습니다. Action 객체는 여러 Action 지원 컨테이너에 추가될 수 있으며 setEnabled 메서드로 GUI 컨트롤을 한 번에 활성화하거나 비활성화할 수 있습니다. 다만 Action 구현은 일반 ActionListener보다 저장 비용이 크므로 필요한 곳에서만 사용하는 것이 좋습니다.
Swing 컴포넌트에 Action을 설정하면 해당 Action이 ActionListener로 추가되고, 컴포넌트가 일부 속성을 Action에 맞추며, Action에 PropertyChangeListener를 설치하여 속성 변화를 반영합니다. NAME, SMALL_ICON, SHORT_DESCRIPTION, ACTION_COMMAND_KEY, ACCELERATOR_KEY 등 여러 키가 컴포넌트 속성에 매핑됩니다.