大多数人应该用过sqlserver企业管理器吧,在那里面打开一个有六百万条记录的表,是无延迟打开,仔细研究了一下它打开的方式,
原来它只显示当前界面高度/每行高度的记录数,当用鼠标滚轮向下或向上滚动时它又重新加载正好够界面看到的数据量,这样就不行一次加载很多数据,也能保证加载数据的效率。
用jtable能不能也做到这样加载数据?
当用鼠标拖动滚动条向下时怎么定位在鼠标松开后周围的数据?
上下滚动时应该要从数据库里读出数据来,如果把数据都缓存到本地,再通过上下滚动读取出来,会很容易造成内存溢出,
网上有没有这样做的例子?
原来它只显示当前界面高度/每行高度的记录数,当用鼠标滚轮向下或向上滚动时它又重新加载正好够界面看到的数据量,这样就不行一次加载很多数据,也能保证加载数据的效率。
用jtable能不能也做到这样加载数据?
当用鼠标拖动滚动条向下时怎么定位在鼠标松开后周围的数据?
上下滚动时应该要从数据库里读出数据来,如果把数据都缓存到本地,再通过上下滚动读取出来,会很容易造成内存溢出,
网上有没有这样做的例子?
你是在自己琢磨东西吧 ?
公司的项目应该不会有这种需求吧,
PS:从来没想过为了酷去改swing界面的设计....
如果内存中没有缓存数据,则从DB获取数据(默认10条),并放入缓存;
如果内存中有缓存数据,则从缓存中获取数据;
如果ResultSet的游标是单向滚动的,则next过的数据会被从缓存中删除,所以查询1万和100万是一样的。JDBC、ADO都是这么做的,这部分都是现成的。使用时,只要抓着ResultSet不放,每次从已打开的ResultSet中获取数据。