我有一个程序, 供用户使用, 希望用户能够使用鼠标翻转和/或右键点击在 JPannel 上绘制的线条。 我完全期望我会执行此线条, 作为处理所有行为的对象的一部分, 但我有一个更基本的问题, 是如何执行下图中显示的线条。 首先, 图片 :
"https://i.sstatic.net/LgnL7.jpg" alt="两个底盘之间的箭头"/>
我可以无任何问题地自己绘制线条,但目前它正在由父线 JPanel
父线 < code > JPanel 中被推翻的 paintComponent ()
调用。
public class ChassisLink extends JComponent implements MouseListener
{
//Rectangle to handle mouse-over and right-click for each segment?
public ChassisLink()
{
initializeLink();
}
private void initializeLink()
{
//Init stuff
}
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);
//Paint the line(s)
}
//MouseListener events...
//When mouse-over on the line, display a tooltip
//When right clicking, display a different dialog
}
我认为我无法理解的问题是如何执行鼠标翻转或单击点检查。 我是否使用矩形, 检查鼠标目前是否包含在该矩形中, 仅仅忽略箭头的三角部分? 我对此非常乐观。 然后, 我的问题是, 我将如何在包含底盘对象的现有 JPannel 顶部上方显示这些链接对象; 这听起来像是 < code> JLayeredPane code> 的候选对象, 但是在这条路径上有任何确认吗?
不管怎么说,我很感激任何人能给我任何投入。如果有些事情有点模糊,请随意要求进一步解释。
谢谢
- 理理