Переслать событие всем компонентам JAVA
Я не знаю, как решить эту проблему. Я занимаюсь разработкой графического редактора, в котором возможно рисование дуг (линий). Я вручную установил размер компонента дуги 1000x1000, поэтому мне не нужно менять его, когда эта дуга будет перетаскиваться. Затем я рисую в этом компоненте дугу нужных размеров. У каждого компонента дуги установлен слушатель мыши. Проблема состоит в том, что только самый верхний компонент дуги получает сообщение мыши. Кроме того, у меня есть прослушиватель щелчка мыши, установленный на самой JPane, но слушатель щелчка мыши на самом верхнем компоненте просто получает все события ... Довольно сложно описать эту проблему, поэтому я предоставлю вам простое изображение
Поэтому первое решение состоит в том, чтобы каким-то образом переслать полученное сообщение компоненту, который находится под ним, однако я не знаю, как это сделать, у вас есть какие-нибудь идеи?
Второе решение состоит не в том, чтобы установить постоянное измерение для объекта дуги, а как-то повернуть прямоугольник, в котором будет находиться эта дуга, я имею в виду это так.
Тем не менее, все еще может быть проблема дублирования.
Итак, у вас есть идеи, как решить эту проблему? или если у вас есть какие-то другие идеи, как решить эту проблему, будьте счастливы, мне просто нужно, чтобы правильная дуга реагировала на щелчок мышью.
Я не думаю, что мой код будет как-то помогает, но вот он
arcObject.setSize(1000, 1000); // !
а затем, в этом компоненте я рисую дугу
toX = o2.x - 24 * Math.cos(theta);
toY = o2.y - 24 * Math.sin(theta);
g2.draw(new Line2D.Double(toX, toY, o1.x, o1.y));