在 Java Swing 中检测 JScrollPane 上的 mouseClick 事件
如果我有这样的东西,我可以使用布尔标志“performAdjustment”控制自动滚动:
static boolean performAdjustment = true;
JTextArea textArea = new JTextArea();
JScrollPane jScrollPane1 = new JScrollPane(textArea);
jScrollPane1.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {
public void adjustmentValueChanged(AdjustmentEvent e) {
if(performAdjustment){
e.getAdjustable().setValue(e.getAdjustable().getMaximum());
}
}});
现在我这工作正常,但问题是当用户单击滚动条时我想取消设置这个布尔标志,它应该当用户离开单击时再次设置(如 JavaScript 中的 onMouseOut 事件)。
你能告诉我如何添加这个新的事件监听器来检测滚动条的点击事件吗?
If i have something like this, where i can control the auto-scrolling using boolean flag "performAdjustment":
static boolean performAdjustment = true;
JTextArea textArea = new JTextArea();
JScrollPane jScrollPane1 = new JScrollPane(textArea);
jScrollPane1.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {
public void adjustmentValueChanged(AdjustmentEvent e) {
if(performAdjustment){
e.getAdjustable().setValue(e.getAdjustable().getMaximum());
}
}});
Now i this works fine, but the problem is i want to unset this boolean flag when a user clicks on the scroll bar and it should be set again when the user leave the click (like onMouseOut event in JavaScript).
Can you tell me how can i add this new EventListener where i can detect click event of the scroll bar??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我很确定鼠标侦听器应该可以帮助您实现您想要的目标;
jScrollPane1.getVerticalScrollBar().addMouseListener(...)
I'm pretty sure a mouse listener should help you to achieve what you want;
jScrollPane1.getVerticalScrollBar().addMouseListener(...)