Java: MouseEvent на прозрачной JPanel - PullRequest
1 голос
/ 24 сентября 2011

У меня есть LayeredPane с двумя JPanel с, все в JFrame.Обе JPanel s установлены прозрачными с setOpaque(false).Тем не менее, я хотел бы захватить события мыши на прозрачной панели (если она имеет значение).Это возможно, или я должен просто сделать это из основного JFrame?(Это определенно будет работать для захвата из JFrame; просто логичнее захватывать события из прозрачной рамки)

1 Ответ

4 голосов
/ 24 сентября 2011

Вы можете захватывать события мыши в зависимости от того, к какому JPanel прикреплен MouseListener, и он не перегружен компонентами, к которым также добавлены MouseListener, и которые лежат на или выше исходного JPanel.Это похоже на ситуацию, идеально подходящую для создания небольшого тестового класса, который является самым простым из графического интерфейса пользователя, в котором нет никаких наворотов вашего графического интерфейса, но который иллюстрирует вашу проблему и обнадеживающее решение.

Также, пожалуйста,Знайте, что прозрачность не играет никакой роли, кроме как отвлекает.

...