如题,但是由于该树还有搜索功能,所以不可以使用多级加载的方式来做,那请问还有什么方式可以提高加载的速度呢?

解决方案 »

  1.   

    利用线程异步处理,这样会好些,但是lz为啥一定要在Jtree加载时就弄那么大的数据呢
      

  2.   

    回复1楼:
    如何进行线程异步处理?
    本身数据量就很大,而且用JTree显示比较直观些。大家还有没有好办法。
      

  3.   

    回复2楼3楼:
    不能分段触发,因为我们实现的这个Tree还有搜索功能,可以搜索Tree中的任意节点。所以必须初始化的时候就生成好。
      

  4.   

    既然有搜索,你必然要有一个完整的数据模型
    但是你没必要把这个完整的数据模型直接对应到显示用的个JTree上
    你可以搜索的时候在那个完整的数据模型上搜索
    搜到之后,再把这个节点及其所有父节点加载到这个JTree上
      

  5.   

    数据量多大?用多线程加载可以考虑一下,每一个一级子节点及其子孙节点用一个线程来处理,可以减少很多时间。搜索功能和加载方式无关,因为搜索也得等tree绘制完成之后才能进行。
      

  6.   

    这个可以有,我有个项目就是如此.
    Tree中所有节点均保存在xml中,搜索是搜的xml而不是直接Tree控件,搜到节点后再加载.