【问题标题】:Detecting mouseClick event on JScrollPane in Java Swing在 Java Swing 中检测 JScrollPane 上的 mouseClick 事件
【发布时间】:2011-12-09 12:21:54
【问题描述】:

如果我有这样的东西,我可以使用布尔标志“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 事件)。

你能告诉我如何添加这个新的 EventListener 来检测滚动条的点击事件吗??

【问题讨论】:

  • 我需要类似 jScrollPane1.getVerticalScrollBar().addClickListener() 或类似的东西,有没有类似的东西存在??
  • 添加鼠标监听怎么样?
  • 谢谢你是对的,但我刚刚意识到我可以使用自动滚动:textArea.setCaretPosition(textArea.getDocument().getLength());
  • @BenvanGompel,我无法选择您的答案作为有效答案,请您将其作为答案,谢谢!!
  • 你到底想达到什么目的?

标签: java swing jscrollpane


【解决方案1】:

我很确定鼠标监听器应该可以帮助您实现您想要的;

jScrollPane1.getVerticalScrollBar().addMouseListener(...)

【讨论】:

  • 感谢它有另一个不错的自动滚动实现思路
猜你喜欢
  • 1970-01-01
  • 2018-11-24
  • 2014-09-18
  • 1970-01-01
  • 1970-01-01
  • 2016-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多