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
   162   163   164   165   166   167   168   169   170   171   172