Tava testando o JTree e tava tentando adicionar itens na JTree atrasves de 2 textField´s q recebiam o nome do novo nó e nó pai (onde seria inserido o novo nó), so q tive problemas c 1 cast, vcs sabem o q eh isso? A logica axo q a certa.
dtm = DefaultTreeModel
root = nó raiz
//se o pai for "root" executa este laco
if (jTextField2.getText().equals("root")) {
DefaultMutableTreeNode filho = new DefaultMutableTreeNode(jTextField1.getText());
root.add(filho);
dtm.reload();
return;
//se o pai n for o "root", executa isto
int index;
//pegando o nó pai, caso n seja o root
index = dtm.getIndexOfChild((Object)root.getUserObject(), (Object)jTextField2.getText()); //ta dando pau nesta cast
DefaultMutableTreeNode pai = (DefaultMutableTreeNode) root.getChildAt(index);
DefaultMutableTreeNode filho = new DefaultMutableTreeNode(jTextField1.getText());
pai.add(filho);
dtm.reload();
eu ja tinha testado sem este cast, dar a msm coisa:
Exception in thread “AWT-EventQueue-0” java.lang.ClassCastException: java.lang.String
at javax.swing.tree.DefaultTreeModel.getIndexOfChild(DefaultTreeModel.java:142)
at Principal11.jButton3ActionPerformed(Principal11.java:116)
at Principal11.access$200(Principal11.java:15)
at Principal11$3.actionPerformed(Principal11.java:62)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)