javax.swing.tree.DefaultTreeModel#nodeStructureChanged ( )源码实例Demo

下面列出了javax.swing.tree.DefaultTreeModel#nodeStructureChanged ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: megan-ce   文件: ViewerJTree.java
/**
 * add all children of a given node
 *
 * @param node
 */
public void addChildren(MyJTreeNode node) {
    final Node v = node.getV();
    final DefaultTreeModel model = (DefaultTreeModel) getModel();

    if (v.getOutDegree() > 0 && node.getChildCount() == 0) {
        for (Edge e = v.getFirstOutEdge(); e != null; e = v.getNextOutEdge(e)) {
            final Node w = e.getTarget();
            final MyJTreeNode wNode = new MyJTreeNode(w);
            node.add(wNode);
            id2node.put((Integer) w.getInfo(), wNode);
            model.nodeStructureChanged(wNode);
        }
    }
    model.nodeStructureChanged(node);
}
 
源代码2 项目: megan-ce   文件: InspectorWindow.java
/**
 * delete all the selected nodes
 */
public void deleteSelectedNodes() {
    DefaultTreeModel model = (DefaultTreeModel) dataTree.getModel();
    TreePath[] selectedPaths = dataTree.getSelectionPaths();
    if (selectedPaths != null) {
        for (TreePath selectedPath : selectedPaths) {
            DefaultMutableTreeNode node = (DefaultMutableTreeNode) selectedPath.getLastPathComponent();
            node.removeAllChildren();
            model.nodeStructureChanged(node);
            DefaultMutableTreeNode parent = (DefaultMutableTreeNode) node.getParent();
            if (parent != null) {
                parent.remove(node);
                model.nodeStructureChanged(parent);
            }
        }
    }
}
 
源代码3 项目: bigtable-sql   文件: RecentFilesController.java
private void onRemoveSelected()
{

   HashSet<DefaultMutableTreeNode> changedParents = new HashSet<DefaultMutableTreeNode>();
   TreePath[] paths = _dialog.treFiles.getSelectionPaths();

   DefaultTreeModel model = (DefaultTreeModel) _dialog.treFiles.getModel();
   for (TreePath path : paths)
   {
      DefaultMutableTreeNode dmtn = (DefaultMutableTreeNode) path.getLastPathComponent();
      if( dmtn.getUserObject() instanceof File )
      {
         model.removeNodeFromParent(dmtn);
         changedParents.add((DefaultMutableTreeNode) path.getParentPath().getLastPathComponent());
      }
   }

   for (DefaultMutableTreeNode changedParent : changedParents)
   {
      model.nodeStructureChanged(changedParent);
   }

   writeUiTreeToModel();

}
 
源代码4 项目: Logisim   文件: ComponentSelector.java
@Override
public void circuitChanged(CircuitEvent event) {
	int action = event.getAction();
	DefaultTreeModel model = (DefaultTreeModel) getModel();
	if (action == CircuitEvent.ACTION_SET_NAME) {
		model.nodeChanged(this);
	} else {
		if (computeChildren()) {
			model.nodeStructureChanged(this);
		} else if (action == CircuitEvent.ACTION_INVALIDATE) {
			Object o = event.getData();
			for (int i = children.size() - 1; i >= 0; i--) {
				Object o2 = children.get(i);
				if (o2 instanceof ComponentNode) {
					ComponentNode n = (ComponentNode) o2;
					if (n.comp == o) {
						int[] changed = { i };
						children.remove(i);
						model.nodesWereRemoved(this, changed, new Object[] { n });
						children.add(i, new ComponentNode(this, n.comp));
						model.nodesWereInserted(this, changed);
					}
				}
			}
		}
	}
}
 
源代码5 项目: megan-ce   文件: InspectorWindow.java
/**
 * erase the tree
 */
public void clear() {
    final DefaultTreeModel model = (DefaultTreeModel) dataTree.getModel();
    for (NodeBase root : classification2RootNode.values()) {
        root.removeAllChildren();
        model.nodeStructureChanged(root);
    }
}
 
源代码6 项目: megan-ce   文件: InspectorWindow.java
/**
 * Called whenever an item in the tree has been collapsed.
 */
public void treeCollapsed(TreeExpansionEvent event) {
    final TreePath path = event.getPath();
    final NodeBase node = (NodeBase) path.getLastPathComponent();
    if (!inspectorWindow.getClassification2RootNode().containsValue(node)) {
        //node.removeAllChildren();
        DefaultTreeModel model = (DefaultTreeModel) inspectorWindow.dataTree.getModel();
        model.nodeStructureChanged(node);
    }
    inspectorWindow.updateView(Director.ALL);
}
 
源代码7 项目: bigtable-sql   文件: RecentFilesController.java
private void onAddToFavourites(ISQLAlias alias)
{
   JFileChooser fc = new JFileChooser(_app.getSquirrelPreferences().getFilePreviousDir());
   fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);

   int returnVal = fc.showOpenDialog(_parent);
   if (returnVal != JFileChooser.APPROVE_OPTION)
   {
      return;
   }


   DefaultMutableTreeNode nodeToAddTo;
   ArrayList<String> listToAddTo;

   if (null == alias)
   {
      _app.getRecentFilesManager().adjustFavouriteFiles(fc.getSelectedFile());
      nodeToAddTo = _favouriteFilesNode;
      listToAddTo = _app.getRecentFilesManager().getFavouriteFiles();
   }
   else
   {
      _app.getRecentFilesManager().adjustFavouriteAliasFiles(alias, fc.getSelectedFile());
      nodeToAddTo = _favouriteFilesForAliasNode;
      listToAddTo = _app.getRecentFilesManager().getFavouriteFilesForAlias(alias);
   }

   nodeToAddTo.removeAllChildren();
   addFileKidsToNode(nodeToAddTo, listToAddTo, false);

   DefaultTreeModel dtm = (DefaultTreeModel) _dialog.treFiles.getModel();
   dtm.nodeStructureChanged(nodeToAddTo);
   _dialog.treFiles.expandPath(new TreePath(nodeToAddTo.getPath()));

   DefaultMutableTreeNode firstChild = (DefaultMutableTreeNode) nodeToAddTo.getFirstChild();
   _dialog.treFiles.scrollPathToVisible(new TreePath(firstChild.getPath()));

}
 
源代码8 项目: Spark   文件: CustomMessages.java
private static void reloadTree(JiveTreeNode rootNode, Tree tree) {
    StatusBar statusBar = SparkManager.getWorkspace().getStatusBar();
    rootNode.removeAllChildren();
    Iterator<StatusItem> statusItems = statusBar.getStatusList().iterator();
    while (statusItems.hasNext()) {
        StatusItem statusItem = statusItems.next();
        JiveTreeNode node = new JiveTreeNode(statusItem.getText(), false, statusItem.getIcon());

        List<CustomStatusItem> newItems = load();
        Iterator<CustomStatusItem> cMessages = newItems.iterator();

        node.setAllowsChildren(true);

        while (cMessages.hasNext()) {
            CustomStatusItem csi = cMessages.next();
            if (csi.getType().equals(statusItem.getText())) {
                JiveTreeNode subNode = new JiveTreeNode(csi.getStatus(), false);
                node.add(subNode);

            }
        }


        rootNode.add(node);
    }

    DefaultTreeModel model = (DefaultTreeModel)tree.getModel();
    model.nodeStructureChanged(rootNode);
    tree.expandTree();
}
 
源代码9 项目: Spark   文件: BookmarksUI.java
/**
 * Adds a new service (ex. [email protected]) to the services list.
 *
 * @param service the new service.
 * @return the new service node created.
 */
public JiveTreeNode addServiceToList(DomainBareJid service) {
    final JiveTreeNode serviceNode = new JiveTreeNode(service.toString(), true, SparkRes.getImageIcon(SparkRes.SERVER_ICON));
    rootNode.add(serviceNode);
    final DefaultTreeModel model = (DefaultTreeModel)tree.getModel();
    model.nodeStructureChanged(rootNode);
    // expand the tree for displaying
    for (int i = 0; i <= tree.getRowCount(); i++) {
        tree.expandPath(tree.getPathForRow(i));
    }
    return serviceNode;
}
 
源代码10 项目: Spark   文件: BookmarksUI.java
/**
 * Adds a new bookmark to a particular service node.
 *
 * @param serviceNode the service node.
 * @param roomName    the name of the room to bookmark.
 * @param roomJID     the jid of the room.
 * @return the new bookmark created.
 */
public JiveTreeNode addBookmark(JiveTreeNode serviceNode, String roomName, String roomJID) {
    JiveTreeNode roomNode = new JiveTreeNode(roomName, false, SparkRes.getImageIcon(SparkRes.BOOKMARK_ICON));
    roomNode.setAssociatedObject(roomJID);
    serviceNode.add(roomNode);
    final DefaultTreeModel model = (DefaultTreeModel)tree.getModel();
    model.nodeStructureChanged(serviceNode);
    return roomNode;
}
 
源代码11 项目: osp   文件: LibraryTreePanel.java
/**
 * Sets the font level.
 *
 * @param level the desired font level
 */
protected void setFontLevel(int level) {

Object[] toSize = new Object[] {
		splitPane, editorPanel, editorbar, authorField, contactField, keywordsField,
		authorLabel, contactLabel, keywordsLabel, metadataLabel, metadataDropdown};
FontSizer.setFonts(toSize, level);
EntryField.font = authorField.getFont();

// resize treeNodeRenderer and LibraryResource icons
treeNodeRenderer.resizableOpenIcon.resize(FontSizer.getIntegerFactor());
treeNodeRenderer.resizableClosedIcon.resize(FontSizer.getIntegerFactor());
LibraryResource.trackerIcon.resize(FontSizer.getIntegerFactor());
LibraryResource.ejsIcon.resize(FontSizer.getIntegerFactor());
LibraryResource.imageIcon.resize(FontSizer.getIntegerFactor());
LibraryResource.videoIcon.resize(FontSizer.getIntegerFactor());
LibraryResource.htmlIcon.resize(FontSizer.getIntegerFactor());
LibraryResource.pdfIcon.resize(FontSizer.getIntegerFactor());
LibraryResource.unknownIcon.resize(FontSizer.getIntegerFactor());

// resize LibraryResource stylesheet font sizes
LibraryResource.bodyFont = FontSizer.getResizedFont(LibraryResource.bodyFont, level);
LibraryResource.h1Font = FontSizer.getResizedFont(LibraryResource.h1Font, level);
LibraryResource.h2Font = FontSizer.getResizedFont(LibraryResource.h2Font, level);

// clear htmlPanesByNode to force new HTML code with new stylesheets
htmlPanesByNode.clear();

// refresh the tree structure
TreeModel model = tree.getModel();
if (model instanceof DefaultTreeModel) {
	LibraryTreeNode selectedNode = getSelectedNode();
	DefaultTreeModel treeModel = (DefaultTreeModel)model;
	treeModel.nodeStructureChanged(rootNode);
	setSelectedNode(selectedNode);
}
refreshGUI();

}
 
源代码12 项目: yGuard   文件: LogParserView.java
static void sort( final DefaultTreeModel model, final Comparator c ) {
  sortRecursively((DefaultMutableTreeNode) model.getRoot(), c);
  model.nodeStructureChanged((DefaultMutableTreeNode) model.getRoot());
}
 
源代码13 项目: bigtable-sql   文件: RecentFilesController.java
private File findFileToOpen(MouseEvent evt)
{

   DefaultMutableTreeNode tn = getSelectedFileNode(evt);

   if (tn == null)
   {
      if (null == evt) // The open button was pushed
      {
         JOptionPane.showMessageDialog(_dialog, s_stringMgr.getString("RecentFilesController.pleaseSelectFile"));
      }
      return null;
   }

   File file = (File) tn.getUserObject();


   if(false == file.exists())
   {
      if(JOptionPane.YES_OPTION == JOptionPane.showConfirmDialog(_dialog, s_stringMgr.getString("RecentFilesController.fileDoesNotExist")))
      {
         DefaultTreeModel model = (DefaultTreeModel) _dialog.treFiles.getModel();
         TreeNode parent = tn.getParent();
         model.removeNodeFromParent(tn);
         model.nodeStructureChanged(parent);

         if(parent == _recentFilesNode)
         {
            _app.getRecentFilesManager().setRecentFiles(getFileStringsFromNode(_recentFilesNode));
         }
         else if(parent == _favouriteFilesNode)
         {
            _app.getRecentFilesManager().setFavouriteFiles(getFileStringsFromNode(_favouriteFilesNode));
         }
         else if(parent == _recentFilesForAliasNode)
         {
            _app.getRecentFilesManager().setRecentFilesForAlias(_selectedAlias, getFileStringsFromNode(_recentFilesForAliasNode));
         }
         else
         {
            _app.getRecentFilesManager().setFavouriteFilesForAlias(_selectedAlias, getFileStringsFromNode(_favouriteFilesForAliasNode));
         }
      }

      return null;
   }

   if(file.isDirectory())
   {
      JFileChooser fc = new JFileChooser(file);
      fc.setFileSelectionMode(JFileChooser.FILES_ONLY);

      int returnVal = fc.showOpenDialog(_parent);
      if (returnVal != JFileChooser.APPROVE_OPTION)
      {
         return null;
      }

      file = fc.getSelectedFile();
   }


   if(false == file.canRead())
   {
      JOptionPane.showMessageDialog(_dialog, s_stringMgr.getString("RecentFilesController.fileIsNotReadable"));
      return null;
   }

   return file;

}