概要

JScrollBarが最後までスクロールしたかどうかを確認します。

サンプルコード

JScrollPane scroll = new JScrollPane(c);
scroll.getVerticalScrollBar().getModel().addChangeListener(e -> {
      BoundedRangeModel m = (BoundedRangeModel) e.getSource();
      int extent = m.getExtent();
      int maximum = m.getMaximum();
      int value = m.getValue();
      if (value + extent >= maximum) {
        check.setEnabled(true);
      }
    });
  }
});
View in GitHub: Java, Kotlin

解説

  • JScrollBarから取得したBoundedRangeModelChangeListenerを追加
  • このChangeListenerでノブの幅を加えた値が最大値になった時に最後までスクロールしたと判断して対応するJCheckBoxを有効に設定

参考リンク

コメント