请问,当我试图用该方法:JScrollPane.getViewport().getView().addMouseListener 给 JScrollPane 添加鼠标移动监听器的时候,我的期望是:当鼠标进入 JScrollPane 后显示滚动条,当鼠标离开 JScrollPane 后隐藏滚动条。 可是,实际上它工作并不正常!具体表现就是当鼠标移动到滚动条区域的时候,滚动条会闪烁,mouseExited(MouseEvent e) 该方法会被不断地激活!可是我鼠标并没有离开 JScrollPane 呀!为啥会这样呢?有什么解决办法吗?
不知道你这个问题是否已经解决, 如果还没有解决的话:这是一个给JScrollPane添加鼠标移动监听器的解决方案。这段代码会在鼠标在JScrollPane区域内移动时根据鼠标位置的变化来决定是否显示滚动条。代码中使用了JViewport.getView()方法来获取JScrollPane中的主要显示组件,然后使用addMouseMotionListener()方法来添加鼠标移动监听器。在监听器的mouseMoved方法中,通过判断鼠标的X坐标和Y坐标相对于JScrollPane区域的位置来决定是否显示或隐藏滚动条。当鼠标离开JScrollPane区域时,滚动条会被隐藏,鼠标进入时则会显示滚动条。
请尝试使用这个解决方案,并告诉我是否有效。如果还有其他问题,请随时提问。