Я не знаю, как решить эту проблему.Я занимаюсь разработкой графического редактора, в котором возможно рисование дуг (линий).Я вручную установил размер компонента дуги 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));