Page 167 - 4836
P. 167
NAME - ім'я дії,
SMALL_ICON - значок, відповідний дії,
SHORT_DESCRIPTION - короткий опис дії (для
підказки).
Метод setEnabled (boolean enabled) дозволяє зробити
дію активним або неактивним.
На основі створеного дії можна створювати деякі
елементи управління, передаючи цю дію в якості єдиного
параметра конструктора. До таких елементів управління,
зокрема, належать елементи меню і кнопки.
Недолік інтерфейсу Action - в ньому занадто багато
допоміжних абстрактних методів (їх сім, у тому числі
setEnabled ( ) і putValue ( )) і програмувати їх досить утомливо.
Тому зазвичай використовується реалізує даний інтерфейс
клас AbstractAction, в якому «не заповнено» єдиний метод -
actionPerformed ( ), а його все одно необхідно визначити для
програмування суті дії.
Розглянемо приклад.
public class SimpleWindow extends JFrame {
private ExitAction exitAction ;
SimpleWindow () {
super ("Вікно з меню") ;
setDefaultCloseOperation ( EXIT_ON_CLOSE );
exitAction = new ExitAction ();
DeactivateAction deactivateAction = new
DeactivateAction ();
JMenuBar menuBar = new JMenuBar ();
JMenu fileMenu = new JMenu ("Файл");
fileMenu.add (new JMenuItem ("Новий"));
fileMenu.addSeparator ();
fileMenu.add (deactivateAction);
fileMenu.add (exitAction);
menuBar.add (fileMenu);
165