Java: Как перетащить на TrayIcon? - PullRequest
3 голосов
/ 07 октября 2011

Как я могу перехватить событие перетаскивания текста / файла / любого другого DataFlavor на java.awt.TrayIcon (помещается в java.awt.SystemTray)?

Ответы [ 4 ]

3 голосов
/ 23 декабря 2011

Видимо, это еще не поддерживается (Java 1.7).Если кому-то интересно, я создал запрос функции Запрос функции Sun 7119272 - вы можете отслеживать прогресс и голосовать за него, если хотите.

0 голосов
/ 07 апреля 2012

Вы должны расширить свой TrayIcon и добавить часть, которую я дал вам, к этому расширенному TrayIcon. Таким образом, он будет срабатывать только для событий перемещения вашего расширенного трейкона. Остальное я оставляю тебе.

0 голосов
/ 06 апреля 2012

попробуйте код ниже. Он срабатывает всякий раз, когда мышь перемещается над трейконом.

    Toolkit.getDefaultToolkit().addAWTEventListener
    (
       new java.awt.event.AWTEventListener() {
          @Override
          public void eventDispatched(java.awt.AWTEvent event)
          {
              if (event.getID() == java.awt.event.MouseEvent.MOUSE_MOVED)
              {
                    // add here your stuff
              }
          }//eventDispatched
       }//AWTEventListener
    ,  java.awt.AWTEvent.MOUSE_MOTION_EVENT_MASK
    );
0 голосов
/ 31 марта 2012

что делать, если вы добавляете слушатель движения мыши в TrayIcon и реагируете на каплю, плавающую над TrayIcon.Затем, когда указатель мыши находится над средством отслеживания мыши в TrayIcon, отобразится JList с поддержкой перетаскивания, который, в свою очередь, получит объект сбрасывания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...