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 が無効になっていても、scrollBar.isEnabled() は常に true を返し、その理由がわかりません。

スクロール ペインを確認する必要があるプロパティがあるか、何か不足している可能性があります。任意の提案をいただければ幸いです。ありがとう。

4

1 に答える 1

1

私はそれを回避する方法を見つけました:visibleAmountと最大量が同じである場合、それはスクロールバーが無効になっていることを意味します:

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