JScrollPane scrollPane=new JScrollPane(check);
JScrollBar scrollBar = new JScrollBar(JScrollBar.VERTICAL, 0,
100, 0, 2800));
scrollBar.addAdjustmentListener(new AdjustmentListener() {
public void adjustmentValueChanged(AdjustmentEvent e) {
double y = e.getValue();
System.out.println(y);
}
});
scrollPane.setVerticalScrollBar(scrollBar );
System.out.println("check: "+check.getPreferredSize().height);
System.out.println("scrollpane: "+scrollPane.getPreferredSize().height);
System.out.println("滑块: "+Chart.scrollBarVer.getMaximum());
System.out.println("extent: "+Chart.scrollBarVer.getModel().getExtent());
这段代码在将scrollBar绑定到scrollPane后,滑块拖到底只能输出到2606。最后的4个输出为3336 3354 2800 100。主要是绑定到scrollPane后滑块变大了,滑到底也没法到最大。该如何解决?
public void adjustmentValueChanged(AdjustmentEvent e) {
double y = e.getValue();
scrollBar.getModel().setExtent(100);
plot.getRangeAxis().setRange(-2*targetRange-y, targetRange-y);
System.out.println(y);
}
在监听中加入scrollBar.getModel().setExtent(100);,但滑块滑到2606,即便继续滑,还是输出2606.