前面代码略, table为扩展的JTable;
table里定义了两个公用变量(这里是我另有用途,才加进去的,如果没有必要,你可以去掉)
public int scrollHorizontal ;
public int scrollWidth;
在加入scroll之前的代码
scroll = new JScrollPane();
final JScrollBar jscVertical = scroll.getVerticalScrollBar();
final JScrollBar jscHorizontal = scroll.getHorizontalScrollBar();
// jscVertical.setBlockIncrement(15); //这个可以设置上下滚动的步长值,默认10
// jscHorizontal.setBlockIncrement(15); //这个可以设置左右滚动的步长值,默认10
jscHorizontal.addAdjustmentListener(new AdjustmentListener(){
public void adjustmentValueChanged(AdjustmentEvent arg0) {
int intHorWidth = jscHorizontal.getWidth();
int intVerHeight = jscVertical.getHeight();
int intHor = jscHorizontal.getValue();
int intVer = jscVertical.getValue();
table.scrollHorizontal = intHor;
table.scrollWidth = intHorWidth;
scroll.repaint(intHor,intVer,intHorWidth,intVerHeight);
}
});
jscVertical.addAdjustmentListener(new AdjustmentListener(){
public void adjustmentValueChanged(AdjustmentEvent arg0) {
int intHorWidth = jscHorizontal.getWidth();
int intVerHeight = jscVertical.getHeight();
int intHor = jscHorizontal.getValue();
int intVer = jscVertical.getValue();
table.scrollVertical = intVer;
table.scrollHeight = intVerHeight;
scroll.repaint(intHor,intVer,intHorWidth,intVerHeight);
}
});
scroll.setViewportView(table);
本文介绍如何通过添加调整监听器来实现对JScrollPane水平和垂直滚动条位置的自定义更新,包括如何获取滚动条的位置信息并应用到JTable中。
548

被折叠的 条评论
为什么被折叠?



