powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Странный nullpointerException
7 сообщений из 7, страница 1 из 1
Странный nullpointerException
    #37663864
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу, чтобы при нажатии плюсика на узле дерева, из базы подгружались значения и вставлялись в нужную ветвь, делаю следующим образом:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
  private void jXTree1TreeExpanded(javax.swing.event.TreeExpansionEvent evt) {

         try{
            TreePath tp= evt.getPath();

           DefaultMutableTreeNode selectNode1=(DefaultMutableTreeNode)tp.getLastPathComponent();

           jXTree1.setSelectionPath(tp);

           selectNode1.removeAllChildren();


               modelTree.getCategoryInSelectedNod(selectNode1);



         }catch(Exception h){
             h.printStackTrace();
         }
    }


В методе getCategoryInSelectedNod добавляются нужные мне значения из базы
Нажимаю на плюсик, ничего не происходит, но когда добавляю после
Код: java
1.
 modelTree.getCategoryInSelectedNod(selectNode1);


строчку:
Код: java
1.
 jXTree1.updateUI();

, все отображается, но выскакивает странная ошибка:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at javax.swing.plaf.basic.BasicTreeUI.updateSize(BasicTreeUI.java:1796)
        at javax.swing.plaf.basic.BasicTreeUI.toggleExpandState(BasicTreeUI.java:2205)
        at javax.swing.plaf.basic.BasicTreeUI.handleExpandControlClick(BasicTreeUI.java:2191)
        at javax.swing.plaf.basic.BasicTreeUI.checkForClickInExpandControl(BasicTreeUI.java:2149)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(BasicTreeUI.java:3511)
        at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(BasicTreeUI.java:3459)
        at java.awt.Component.processMouseEvent(Component.java:6285)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6053)


Что я делаю не так? Подскажите пожалуйста
...
Рейтинг: 0 / 0
Странный nullpointerException
    #37663876
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мля, ну что за классические грабли. updateUI() обновляет LAF. То что при этом обновляется дерево или таблица, это побочный эффект. Обновлять дерево нужно через нотификацию слушателей. Смотри DefaultTreeModel.fireTreeStructureChanged и подобные методы.
...
Рейтинг: 0 / 0
Странный nullpointerException
    #37664189
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczМля, ну что за классические грабли. updateUI() обновляет LAF. То что при этом обновляется дерево или таблица, это побочный эффект. Обновлять дерево нужно через нотификацию слушателей. Смотри DefaultTreeModel.fireTreeStructureChanged и подобные методы.
поняла, спасибо))
...
Рейтинг: 0 / 0
Странный nullpointerException
    #37665506
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все, я схожу с ума.
Пишу:
Код: java
1.
 insertNodeInto(new DefaultMutableTreeNode(subGroup), selNod, selNod.getChildCount());


после пытаюсь вызвать метод:
Код: java
1.
fireTreeStructureChanged


не могу никак въехать, что конкретно в моем случае нужно вставлять в качестве параметров для метода fireTreeStructureChanged
пыталась сделать так:
Код: java
1.
fireTreeStructureChanged(tree, this.getPathToRoot(selNod), null, null);


но нифига не отображается, как только добавляю
Код: java
1.
tree.updateUI();

, все отображается, но так не правильно, поэтому нужно разобраться с этим
Код: java
1.
fireTreeStructureChanged

. Что я делаю не так, подскажите пожалуйста.
...
Рейтинг: 0 / 0
Странный nullpointerException
    #37665522
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sorry, я тупанул по аналогу с таблицей. У дерева есть более удобные методы.
DefaultTreeModel
nodeChanged()
reload()
nodeStructureChanged()
и т.п.

Причем ими не обязательно пользоватся если вставлять\удалять данные через TreeModel:
insertNodeInto()
removeNodeFromParent()
...
Рейтинг: 0 / 0
Странный nullpointerException
    #37665586
JulT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczSorry, я тупанул по аналогу с таблицей. У дерева есть более удобные методы.
DefaultTreeModel
nodeChanged()
reload()
nodeStructureChanged()
и т.п.

Причем ими не обязательно пользоватся если вставлять\удалять данные через TreeModel:
insertNodeInto()
removeNodeFromParent()
Ничего не понимаю. У меня есть метод:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
   private void jXTree1TreeExpanded(javax.swing.event.TreeExpansionEvent evt) {                                     

           TreePath tp= evt.getPath();

           DefaultMutableTreeNode selectNode1=(DefaultMutableTreeNode)tp.getLastPathComponent();

           jXTree1.setSelectionPath(tp);

           selectNode1.removeAllChildren();

           modelTree.getCategoryInSelectedNod(selectNode1);
}


Т.е. при нажатии на плюсик, открывается ветка и в нее тут же подгружаются значения из базы. Вот здесь вызывается метод модели, в котором происходит соединение с базой и вставка значений, вот его краткий код:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public void getCategoryInSelectedNod(DefaultMutableTreeNode selNod){
................................
 while(rs.next()){
                      Groupcontact subGroup =new Groupcontact();

                      subGroup.setId(rs.getInt(1));
                      subGroup.setName(rs.getString(2));
                      subGroup.setIdParent(rs.getInt(3));
                      subGroup.setPath(rs.getString(4));
                      subGroup.setIsRoot(rs.getInt(5));
...

                     insertNodeInto(new DefaultMutableTreeNode(subGroup), selNod, selNod.getChildCount());
}


Что здесь не так не могу понять, ведь все же делаю вроде правильно
...
Рейтинг: 0 / 0
Странный nullpointerException
    #37665605
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возьмите любой пример дерева с ленивой загрузкой из инета.
http://www.jroller.com/Thierry/entry/swing_lazy_loading_in_jtree
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Странный nullpointerException
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]