У меня есть всплывающее меню, которое открывается при наведении курсора мыши на компонент. Теперь я хочу, чтобы можно было перетащить компонент, пока всплывающее окно все еще открыто, но событие закрытия всплывающего меню всегда потребляет первый щелчок мыши. Есть ли обходной путь для этого?Запуск перетаскивания мышью при открытии JPopupMenu?
0
A
ответ
0
Я отказался и использовал JDialog вместо JPopupMenu. Кажется невозможным получить событие click, которое закрывает всплывающее окно.
1
public class A
.....
implements MouseListener, ActionListener
{
JPopupMenu pmnu ;
JMenuItem setcol ;
JList lst ;
Component cmp = null ;
int x = 0, y = 0;
...
private void
pop (MouseEvent ev)
{
if (ev.isPopupTrigger() )
{
cmp = ev.getComponent() ;
x = ev.getX() ;
y = ev.getY() ;
pmnu.show (cmp, x, y) ;
}
}
public void mouseDragged(MouseEvent ev)
{
pop (ev) ;
}
public void mouseReleased (MouseEvent ev)
{
pop (ev) ;
}
public void actionPerformed(ActionEvent ev)
{
Object src = ev.getSource() ;
if (src == setcol && cmp != null)
{
cmp.setBackground (Color.yellow) ;
return ;
}
}
public A()
{
pmnu = new JPopupMenu() ;
setcol = new JMenuItem ("Set color") ;
pmnu.add (setcol) ;
....
}
public void
init()
{
setcol.addActionListener (this) ;
....
lst.addMouseListener (this) ;
}
public void mouseClicked(MouseEvent ev) {}
public void mouseEntered(MouseEvent ev) {}
public void mouseExited(MouseEvent ev) {}
}
Смежные вопросы
- 1. Кнопка перетаскивания мышью Android
- 2. прокрутки путем перетаскивания мышью
- 3. Запуск ошибки при открытии eclipse
- 4. Запуск службы при открытии активности
- 5. Запуск действия JavaScript при двойном щелчке мышью
- 6. MFC щелкните мышью и переместите диалоговое окно перетаскивания/перетаскивания
- 7. Изменение указателя перетаскивания мышью в WPF
- 8. Коснитесь перетаскивания мышью при касании рядом с JS
- 9. получить все элементы под мышью перетаскивания
- 10. Java - Прокрутка изображения путем перетаскивания мышью
- 11. Изменить страницу с помощью события перетаскивания мышью
- 12. контроль перетаскивания в сетке wpf с мышью
- 13. Move непараметризованного этапа на перетаскивания мышью
- 14. Использование GLFW для захвата перетаскивания мышью? [C++]
- 15. Точка перетаскивания вдоль вектора с мышью
- 16. Запуск файла .el при открытии emacs
- 17. Запуск кода vba при открытии книги
- 18. Как предотвратить запуск PowerGUI при открытии скрипта?
- 19. Запуск события при открытии приложения ReactNative
- 20. Запуск сценария bash при открытии pdf
- 21. Запуск команды при открытии терминала (Linux)
- 22. Запуск перетаскивания на mousedown
- 23. Изменение размера jpopupmenu с помощью мыши-адаптера
- 24. Остановка JPopupMenu воровство фокуса
- 25. Почему щелчок мышью перетаскивания НЕ украл текстовый фокус?
- 26. Остановка PDF-файла при открытии при перетаскивании
- 27. JPopupMenu Modality
- 28. JPopupMenu Behavior
- 29. Поддержка перетаскивания при подклассе от QAbstractItemModel
- 30. Java - запуск JPopupMenu для выполнения кода, когда он отображается?