我有一个带有null布局的JPanel。在这个面板上,我绘制了一些自定义JComponents作为标记,小红色圆形和线条。
当线不是水平线或垂直线时,JComponent的“敏感区域”是一个矩形,其线条本身具有斜边。这个过多的区域经常会“窃取”MouseEvents到标记。
如果用户没有点击实线,我怎样才能让MouseEvents“传递”到被遮盖的对象?
答案 0 :(得分:2)
正确的方法是moonwave99建议的。
1)创建并保留一系列行。
2)使用Graphics2D原语绘制数组中的每一行,覆盖JPanel的paintComponent方法。
3)将一个MouseListener添加到JPanel,并在行的数组中使用一个研究函数,以了解选择了哪一行。