您的位置:首页 > 其它

如何获取JTable/JTree当前显示的内容

2008-04-24 16:18 281 查看

一是如何获取滚动条停止事件

主要内容就是实现AdjustmentListener的方法


private boolean changed = false;




public void adjustmentValueChanged(AdjustmentEvent arg0) ...{






if(changed == true && !arg0.getValueIsAdjusting())...{


// TODO 这里放你要执行的代码




}


changed = arg0.getValueIsAdjusting();


}

这样就可以实现在鼠标或者键盘控制滚动条滚动结束以后要立即执行的事件了

二是读取当前界面上显示的内容

通常滚动条操作结束以后我们会想要拿到当前界面内显示的内容,而不是table或者tree里的全部内容




public boolean isDisplayedInRow(int row)...{


Rectangle cellRect = getCellRect(row, 0, false);


Rectangle visibleRect = getVisibleRect();


return cellRect.intersects(visibleRect);


}

在重写table的时候加入这样的一个方法,当然也可以去判断列是否在viewport范围内, 这样在操作table时,就可以很方便的得知某行是否被显示了。那么拿到全部内容只要获取一下rowcount,做一个循环判断一下就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: