Carregarinformçõesemuma tree vindas de um BD depois da scena aparecer(在场景出现后来自DB的树上传信息)

时间:2016-03-08 18:47:24

标签: database javafx treeview

修改在引用的部分添加了英文翻译(translate.google.com的编辑版本)

Olá,estou com um problema para carregar uma tree ....

  

您好,我在加载树时遇到问题

Estatreeépreenchidacom dados do meu banco de dados ... se trata demuitainformação.. Quando do menu principal,chamo essa tela,leva uns 5 segs para aparecer qquer coisa ...

  

这个树上填满了我数据库中的数据...信息太多了......当主菜单打开这个屏幕时,大约需要5秒左右才会出现......

Gostaria de uma ajuda para diminuir o tempo ... se for o caso refazer o codigo que varre o banco de dados ou ... vi que posso rodar isso em background para carregar pelo menos a scene mais rapido!

  

如果有任何方法可以重写扫描数据库的代码或者在后台运行它以至少更快地传输场景,我想帮助缩短时间 >

Alguma ideia!??!??!?!!?!?

  

任何想法!??!??!?!!?!?

private void initialize() {

        loadTree();

    }

FUNCAO LOADTREE()

void  loadTree() {
        List<Taxonomy> listTaxonomy = taxonomyDao.findAll();

        TreeItem<String> rootItem = new TreeItem<>("Cadastro de Problemas");
        rootItem.setExpanded(true);

        TreeItem<String> nv1 = null;
        TreeItem<String> nv2 = null;
        for (Taxonomy i : listTaxonomy) {
            nv1 = new TreeItem<>(i.getTaxonomy());
            rootItem.getChildren().add(nv1);

            List<Concept> listConcept = conceptDao.findRoot(i);

            for (Concept k : listConcept) {
                nv2 = new TreeItem<>(k.getConcept());
                nv1.getChildren().add(nv2);

                List<Concept> listConcept2 = conceptDao.findFather(k);

                for (Concept j : listConcept2) {
                    TreeItem<String> nv3 = new TreeItem<>(j.getConcept());
                    nv2.getChildren().add(nv3);

                    List<Concept> listConcept3 = conceptDao.findFather(j);

                    for (Concept l : listConcept3) {
                        TreeItem<String> nv4 = new TreeItem<>(l.getConcept());
                        nv3.getChildren().add(nv4);

                        List<Concept> listConcept4 = conceptDao.findFather(l);

                        for (Concept m : listConcept4) {
                            TreeItem<String> nv5 = new TreeItem<>(m.getConcept());
                            nv4.getChildren().add(nv5);

                            List<Concept> listConcept5 = conceptDao.findFather(m);

                            for (Concept n : listConcept5) {
                                TreeItem<String> nv6 = new TreeItem<>(n.getConcept());
                                nv5.getChildren().add(nv6);

                            }
                        }
                    }
                }
            }
        }
        newTreeView.setRoot(rootItem);(.......)

Grato, 鲁

0 个答案:

没有答案