天天看點

java scrollbar_java – 如何知道JScrollBar是否已到達JScrollPane的底部?

您必須将滾動條的範圍添加到計算中.我在下面的示例中将代碼添加到您的代碼中.

scrollPane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {

@Override

public void adjustmentValueChanged(AdjustmentEvent ae) {

int extent = scrollPane.getVerticalScrollBar().getModel().getExtent();

System.out.println("Value: " + (scrollPane.getVerticalScrollBar().getValue()+extent) + " Max: " + scrollPane.getVerticalScrollBar().getMaximum());

}

});

兩種替代實施(部分對Kleopatra作出反應)

scrollPane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {

@Override

public void adjustmentValueChanged(AdjustmentEvent event) {

JScrollBar scrollBar = (JScrollBar) event.getAdjustable();

int extent = scrollBar.getModel().getExtent();

System.out.println("1. Value: " + (scrollBar.getValue() + extent) + " Max: " + scrollBar.getMaximum());

}

});

或者通過模型

scrollPane.getVerticalScrollBar().getModel().addChangeListener(new ChangeListener() {

@Override

public void stateChanged(ChangeEvent event) {

BoundedRangeModel model = (BoundedRangeModel) event.getSource();

int extent = model.getExtent();

int maximum = model.getMaximum();

int value = model.getValue();

System.out.println("2. Value: " + (value + extent) + " Max: " + maximum);

}

});