Как указано в заголовке, у меня есть JPanel с двумя или более дочерними компонентами JPanel, и я хотел бы распространить событие мыши на все дочерние компоненты.Например, у меня есть перетаскиваемое событие moused, которое рисует прямоугольник в одном из дочерних объектов JPanel.Я хотел бы, чтобы другие дети JPanel рисовали то же самое синхронизированным способом.
Первая встреченная проблема заключается в том, что, как правило, только самый верхний компонент, находящийся «под» событием мыши, получает уведомление о конкретном событии мыши, котороеимеет смысл для большинства приложений.Вместо этого я (почти почти) получил искомое поведение, отказавшись от обычно используемого маршрута MouseListener и используя enableEvents () для включения различных событий мыши, а затем переопределив processMouseEvent () и processMouseMotionMotionEvent (), так что каждая функция распределяет события мыши (скоординаты от родительских координат) каждому дочернему JPanel для рисования необходимо.Однако я не уверен, что выбранный мною маршрут является лучшим, и хотел бы получить еще несколько мнений по этому вопросу.
Еще один метод, который я хотел бы реализовать, - это переопределить метод dispatchEvent (AWTEvent e) иотправлять события каждой дочерней панели, вызывая dispatchEvent для каждой из них, но, к сожалению, dispatchEvent (AWTEvent e) не может быть переопределен.
Любая помощь общего характера будет принята с благодарностью.