Mig*_*ing 4 java mouse swing background mouseout
我已经实现了一个简单的鼠标监听器,只要鼠标进入组件(JPanel),背景颜色就会改变,只要鼠标离开,它就会恢复.这有一些问题:
我猜这对于Swing老兵来说很简单.对于如何解决这个问题,有任何的建议吗?我不想使用计时器等......
如果我将鼠标快速移动到子节点,则不会触发mouseEnter事件
我从来没有见过这种情况,但如果它是一个问题,那么你可以处理mouseMoved而不是重置背景.
如果我的组件有子节点,当鼠标移动到子节点时它会触发mouseExit
使用以下测试,只有在离开组件边界时才会执行代码:
public void mouseExited(MouseEvent e)
{
if (! getVisibleRect().contains(e.getPoint()) )
{
setBackground(...);
}
}
Run Code Online (Sandbox Code Playgroud)