Moderator: JIDE Support
   @Override
   public void treeNodesInserted(TreeModelEvent e)
   {
//      LayerTreeNode node = (LayerTreeNode) (e.getTreePath().getLastPathComponent());
      for(Object childObj : e.getChildren())
      {
         if(childObj instanceof LayerTreeGroupNode)
         {
            LayerTreeGroupNode node = (LayerTreeGroupNode)childObj;
         }
         else if(childObj instanceof LayerTreeNode)
         {
            LayerTreeNode node = (LayerTreeNode)childObj;
            System.out.println("The user has finished adding the node " + node.getTitle());
            
            if(node.isSelected())
            {
               TreePath childPath = e.getTreePath().pathByAddingChild(childObj);
               CheckBoxTreeSelectionModel selectionModel = layerTree.getCheckBoxTreeSelectionModel();
               selectionModel.addSelectionPath(childPath);
            }
         }
      }
   }
        _tree.getCheckBoxTreeSelectionModel().addSelectionPath(_tree.getPathForRow(2));
Invoked after nodes have been inserted into the tree.
    public static void insertTableModelListener(TableModel model, TableModelListener l, int index) {
        if (!(model instanceof AbstractTableModel)) {
            model.addTableModelListener(l);
            return;
        }
        TableModelListener[] listeners = ((AbstractTableModel) model).getTableModelListeners();
        for (TableModelListener listener : listeners) {
            model.removeTableModelListener(listener);
        }
        for (int i = 0; i < listeners.length; i++) {
            TableModelListener listener = listeners[i];
            if (index == i) {
                model.addTableModelListener(l);
            }
            model.addTableModelListener(listener);
        }
        // index is too large, add to the end.
        if (index < 0 || index > listeners.length - 1) {
            model.addTableModelListener(l);
        }
    }
Please try to insert your listener to the first so that it would be executed the last.
   public void insertTreeModelListener(TreeModelListener l, int index)
   {
      TreeModelListener[] listeners = getTreeModelListeners();
      for (TreeModelListener listener : listeners)
      {
         removeTreeModelListener(listener);
      }
      for (int i = 0; i < listeners.length; i++)
      {
         TreeModelListener listener = listeners[i];
         if (index == i)
         {
            addTreeModelListener(l);
         }
         addTreeModelListener(listener);
      }
      // index is too large, add to the end.
      if (index < 0 || index > listeners.length - 1)
      {
         addTreeModelListener(l);
      }
   }
layerTreeModel.addTreeModelListener(new CnpLayerTreeModelListener(this));
layerTreeModel.insertTreeModelListener(new CnpLayerTreeModelListener(this), 0);
Return to JIDE Common Layer Open Source Project Discussion (Community Driven)
Users browsing this forum: No registered users and 31 guests