概要

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

サンプルコード

JScrollPane scroll = new JScrollPane(c);
scroll.getVerticalScrollBar().getModel().addChangeListener(new ChangeListener() {
  @Override public void stateChanged(ChangeEvent 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 all

解説

上記のサンプルでは、縦JScrollBarから取得したBoundedRangeModelChangeListenerを追加し、ノブの幅を加えた値が最大値になった時に最後までスクロールしたと判断して、JCheckBoxを有効に設定しています。

参考リンク

コメント