Page 166 - 4836
P. 166

чи була натиснута саме права кнопка миші. Методи getX () і
                            getY()    повертають     координати     курсора    миші    щодо
                            спостережуваного компонента.
                                   Інтерфейс Action (дія) і клас AbstractAction

                                   Дуже  часто  одна  і  та  ж  команда  дублюється  в
                            графічному  інтерфейсі  в  декількох  місцях.  Наприклад,
                            команда  «Копіювати»  може  бути  присутнім  в  головному
                            меню вікна, в контекстному меню деякого об'єкта, а також у
                            вигляді кнопки на інструментальній панелі. Це необхідно для
                            зручності  користування  програмою.  Однак,  прив'язувати  до
                            всіх  цих  об'єктах  (кнопкам  і  командам  меню)  однакових
                            слухачів  досить  утомливо.  Більш  того,  всі  ці  команди
                            однаково  повинні  реагувати  на  зміни  стану  програми:  якщо
                            копіювання  з  якихось  причин  стає  неможливим,  то  всі
                            елементи  управління,  що  представляють  дану  команду,
                            повинні зробитися неактивними.

                                   Для спрощення роботи в таких ситуаціях передбачений
                            інтерфейс  Action.  Він  збирає  в  одному  місці  все,  що
                            відноситься  до  деякого  дії:  обробник,  показник  активності,
                            спливаючу підказку, значок і т.д.

                                   Інтерфейс  Action      успадкований  від      інтерфейсу
                            ActionListener,  тому  його  головний  метод  -  actionPerformed
                            (ActionEvent  event).  Саме  тут  програмується  сама  дія.  Але
                            крім цього за допомогою методу putValue (String key, Object
                            value)  можна  задати  одне  з  додаткових  властивостей  дії.
                            Перший параметр - строковий ідентифікатор властивості. Він
                            може  приймати  одне  із  значень,  описаних  в  константах
                            інтерфейсу Action. Другий параметр - об'єкт, що представляє
                            собою значення властивості.
                                   Основні  властивості  інтерфейсу  Action  (точніше,
                            відповідні їм константи):




                                                           164
   161   162   163   164   165   166   167   168   169   170   171