Утро, день, ночь...
Ситуация такая: вызываю я popupmenu по координатам курсора, то есть без JFrame/JButton/JWindow и т.д.
И все бы хорошо, но есть основная и большая проблема: Если я кликаю вне меню, на рабочем столе, на панели задач и так далее, то меню не скрывается. Только если что-то из него выбираю. Если бы родительский компонент был, то скорее всего все работало бы прекрасно, но его нет
Я пробовал проверять координаты курсора "в квадрате" меню, но безуспешно. События "слушателя" фокуса и событий мыши, так же особого результата не дали.
Слушатель фокуса. как я почитал вообще не будет работать, если нет "родителя".
А со слушателями мыши: не работает только это "popupMenuCanceled", остальное прекрасно и во время. Можете рассказать поподробнее про это событие?
Покопал инет, насколько хватило сил и знаний английского языка. Наткнулся на такую же проблему при работе с иконкой в трее, но решения не нашел. Слышал, что проблема решается как аналогичная: при клике мыши вне java приложения меню не скрывается; но есть предположение, что ее решают определением фокуса главного окна, а вот у меня как раз окна и нет...
В целом: буду рад советам, любой помощи и идеям... сижу уже вторую неделю с этим, а сделать надо...
JDK 7.0 у меня, юзаю Eclipse, ОС Windows 7 (32b). Не знаю важна ли операционка...
P.S. И да, с java я знаком 18 дней всего, поэтому многого не знаю
Ситуация такая: вызываю я popupmenu по координатам курсора, то есть без JFrame/JButton/JWindow и т.д.
C++:
Point location = MouseInfo.getPointerInfo().getLocation();
Menu.setLocation((int) location.getX()-5, (int) location.getY()-5);
Menu.setInvoker(Menu);
Menu.setVisible(true);
И все бы хорошо, но есть основная и большая проблема: Если я кликаю вне меню, на рабочем столе, на панели задач и так далее, то меню не скрывается. Только если что-то из него выбираю. Если бы родительский компонент был, то скорее всего все работало бы прекрасно, но его нет
Я пробовал проверять координаты курсора "в квадрате" меню, но безуспешно. События "слушателя" фокуса и событий мыши, так же особого результата не дали.
Слушатель фокуса. как я почитал вообще не будет работать, если нет "родителя".
А со слушателями мыши: не работает только это "popupMenuCanceled", остальное прекрасно и во время. Можете рассказать поподробнее про это событие?
Покопал инет, насколько хватило сил и знаний английского языка. Наткнулся на такую же проблему при работе с иконкой в трее, но решения не нашел. Слышал, что проблема решается как аналогичная: при клике мыши вне java приложения меню не скрывается; но есть предположение, что ее решают определением фокуса главного окна, а вот у меня как раз окна и нет...
В целом: буду рад советам, любой помощи и идеям... сижу уже вторую неделю с этим, а сделать надо...
JDK 7.0 у меня, юзаю Eclipse, ОС Windows 7 (32b). Не знаю важна ли операционка...
P.S. И да, с java я знаком 18 дней всего, поэтому многого не знаю