0

我使用 jfcunit,我有以下代码:

if ((Component)event.getSource() instanceof JScrollPane) {
                    JScrollPane scrollPane= (JScrollPane) (Component)event.getSource();
                    JScrollBar scrollBar=(JScrollBar) scrollPane.getVerticalScrollBar();
                    if(!scrollBar.isVisible()||!scrollBar.isEnabled()){
                        return;
                    }

它在鼠标滚轮事件上运行并获取它的源。问题是 scrollBar.isVisible() 工作正常,但 scrollBar.isEnabled() 总是返回 true,即使滚动条被禁用,我似乎也不知道为什么。

也许有一个属性我应该检查滚动窗格,或者我可能遗漏了一些东西。任何建议表示赞赏。谢谢。

4

1 回答 1

1

我找到了解决方法:如果 visibleAmount 和最大数量相同,则表示滚动条被禁用:

   if(!scrollBar.isVisible()
||(scrollBar.getVisibleAmount()==scrollBar.getMaximum())){
                            return;
                        }
于 2012-06-08T12:30:27.853 回答