在Java Swing中检测JScrollPane上的mouseClick事件

时间:2011-12-09 12:21:55

标签: java swing jscrollpane

如果我有这样的东西,我可以使用布尔标志“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,我可以检测滚动条的点击事件吗?

1 个答案:

答案 0 :(得分:2)

我很确定鼠标听众应该帮助你实现你想要的东西;

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