Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как добавить MouseListener если метод addMouseListener не поддерживается / 9 сообщений из 9, страница 1 из 1
12.06.2006, 16:40
    #33786268
bemtaill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить MouseListener если метод addMouseListener не поддерживается
Привет всем!
Вопрос: я уналдовал класс MyTrayIcon от TrayIcon c имплементацией интерфейса MouseListener для того чтобы реализовать обработку двойного клика на иконке в трее. Но в TrayIcon нет addMouseListener и соответственно и в MyTrayIcon его тоже нет. Как быть в этом случае?


ЗЫ: TrayIcon - класс из библиотеки JDIC https://jdic.dev.java.net/
...
Рейтинг: 0 / 0
13.06.2006, 16:26
    #33788092
bemtaill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить MouseListener если метод addMouseListener не поддерживается
Ок. Перефразирую.

Возможно ли добавление произвольного Listener'a к произвольному классу не поддержедривающему метод addXXXListener?

Точнее я понимаю что если метода нет то не добавить:) Короче меня интресует как быть в ситуации когда класс не имеет методов для добавления listener'ов но их хотелось бы поиметь... В хорошем смысле этого слова.
...
Рейтинг: 0 / 0
14.06.2006, 12:15
    #33789786
bemtaill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить MouseListener если метод addMouseListener не поддерживается
Продолжаю беседовать сам с собой.

Короче видимо решение состоит в том чтобы расширить свой класс от Component и тогда он будет иметь данные методы...

Спасибо всем за помощь:)
...
Рейтинг: 0 / 0
14.06.2006, 12:19
    #33789796
Pitbull terrier
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить MouseListener если метод addMouseListener не поддерживается
что-то я не пойму, в чем проблема =)

>>Возможно ли добавление произвольного Listener'a к произвольному классу не поддержедривающему метод addXXXListener?

да!
заводите свой метод addXXXListener, складываете их (листенеры) в лист
как только что-то происходит - перебираете лист и оповещаете листенеры
...
Рейтинг: 0 / 0
14.06.2006, 12:24
    #33789818
Pitbull terrier
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить MouseListener если метод addMouseListener не поддерживается
кажется, начинаю въезжать

>>класс MyTrayIcon от TrayIcon c имплементацией интерфейса MouseListener для того чтобы реализовать обработку двойного клика на иконке в трее

т.е. есть некий код, выполняющийся при клике?
в нем можно реализовать обработку своих листенеров, которые добавляются/удаляются из списка самописными методами
...
Рейтинг: 0 / 0
14.06.2006, 12:43
    #33789891
bemtaill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить MouseListener если метод addMouseListener не поддерживается
Pitbull terrierкажется, начинаю въезжать
....
т.е. есть некий код, выполняющийся при клике?
в нем можно реализовать обработку своих листенеров, которые добавляются/удаляются из списка самописными методами

О. А как реализовать самописные методы для добавления/удаления листенеров в/из списка? Ссылкой не поделитесь/или примерчик какой-нить...
...
Рейтинг: 0 / 0
14.06.2006, 12:51
    #33789936
bemtaill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить MouseListener если метод addMouseListener не поддерживается
Pitbull terrierкажется, начинаю въезжать
т.е. есть некий код, выполняющийся при клике?

есть некий код, который нужно заставить выполнятся при двойном клике.
...
Рейтинг: 0 / 0
14.06.2006, 12:56
    #33789955
Pitbull terrier
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить MouseListener если метод addMouseListener не поддерживается
что-то вроде этого:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
 import  java.awt.event.MouseEvent;
 import  java.awt.event.MouseListener;
 import  java.util.ArrayList;
 import  java.util.Iterator;
 import  java.util.List;

 public   class  IHaveMouseListeners
{
    List listeners =  new  ArrayList();

     public   void  addListener(MouseListener listener)
    {
        listeners.add(listener);
    }

     public   void  removeListener(MouseListener listener)
    {
        listeners.remove(listener);
    }

    /**
     * Mouse was clicked somewhere, and you want to let your listeners know
     * about this
     */
     private   void  fireMouseClicked(MouseEvent me)
    {
        Iterator iter = listeners.iterator();
         while  (iter.hasNext())
        {
            MouseListener listener = (MouseListener) iter.next();
            listener.mouseClicked(me);
        }
    }
}


как я понял, твой компоненит уже реализует MouseListener
в соотв. методах просто вызываешь свои fireXXX, передавая в них ивенты
...
Рейтинг: 0 / 0
14.06.2006, 13:10
    #33789995
bemtaill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как добавить MouseListener если метод addMouseListener не поддерживается
Спасибо.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как добавить MouseListener если метод addMouseListener не поддерживается / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]