Bah então passa ai pra galera o que vc alterou…!!!

Desde já valeu !!! :smiley:

Estou tentando copiar partes de uma árvore p/ outra. Funciona +.
Quando eu clico pela primeira vez, funciona. Mas, pela segunda, ae da TILT.
Vou postar o código ae:

[code]import java.awt.;
import java.awt.event.
;
import java.util.Enumeration;

import javax.swing.;
import javax.swing.tree.
;

public class Teste extends JDialog implements ActionListener {
private Tree objTree;
public TelaExportarDados(Frame parent, boolean modal) {
super(parent, modal);
initComponents();
}

private void initComponents() {
	GridBagConstraints gridBagConstraints;

	pnlAll = new JPanel();
	pnlExpDados = new JPanel();
	scrllFrom = new JScrollPane();
	
	scrllTo = new JScrollPane();

	pnlBtn = new JPanel();
	btnAdd = new JButton(">>");
	btnDel = new JButton("<<");
	pnlSouth = new JPanel();
	
	objTree = new Tree();
	treeFrom = objTree.getTreeFrom();
	treeTo = objTree.getTreeTo();

	btnAdd.addActionListener(this);

	setResizable(false);

	pnlExpDados.setLayout(new BorderLayout());

	scrllFrom.setPreferredSize(new Dimension(160, 230));
	scrllFrom.setViewportView(treeFrom);

	pnlExpDados.add(scrllFrom, BorderLayout.WEST);

	scrllTo.setPreferredSize(new Dimension(160, 230));
	scrllTo.setViewportView(treeTo);

	pnlExpDados.add(scrllTo, BorderLayout.EAST);

	pnlBtn.setLayout(new GridBagLayout());

	gridBagConstraints = new GridBagConstraints();
	gridBagConstraints.insets = new Insets(10, 10, 10, 10);
	pnlBtn.add(btnAdd, gridBagConstraints);

	gridBagConstraints = new GridBagConstraints();
	gridBagConstraints.gridx = 0;
	gridBagConstraints.gridy = 1;
	gridBagConstraints.insets = new Insets(10, 10, 10, 10);
	pnlBtn.add(btnDel, gridBagConstraints);

	pnlExpDados.add(pnlBtn, BorderLayout.CENTER);

	pnlSouth.setLayout(new BorderLayout());

	pnlExpDados.add(pnlSouth, BorderLayout.SOUTH);

	pnlAll.add(pnlExpDados);

	getContentPane().add(pnlAll, BorderLayout.CENTER);

	Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
	setBounds((screenSize.width - 416) / 2, (screenSize.height - 370) / 2, 416, 280);
}

public void actionPerformed(ActionEvent evt) {
	Object evento = evt.getSource();

	if (evento == btnAdd) {
		DefaultMutableTreeNode nodo =
			(DefaultMutableTreeNode) treeFrom
				.getLastSelectedPathComponent();

		if (nodo == null)
			return;

		Object[] o = nodo.getUserObjectPath();
		objTree.addNode(o[o.length - 1]);
	}
}

private void closeDialog(WindowEvent evt) {
	setVisible(false);
	dispose();
}

public static void main(String args[]) {
	TelaExportarDados dialog = new TelaExportarDados(new JFrame(), true);
	dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
	dialog.show();
}

private JButton btnAdd;
private JButton btnDel;
private JPanel pnlAll;
private JPanel pnlBtn;
private JPanel pnlExpDados;
private JPanel pnlSouth;
private JScrollPane scrllFrom;
private JScrollPane scrllTo;
private JTree treeFrom;
private JTree treeTo;

}

/*****************************************************************************************************************/

class Tree {

private JTree treeFrom;
private JTree treeTo;
private DefaultTreeModel model;
private DefaultMutableTreeNode root;

public JTree getTreeFrom() {
	DefaultMutableTreeNode root = new DefaultMutableTreeNode("Tabelas");
	DefaultMutableTreeNode tabela = new DefaultMutableTreeNode("Tabela1");
	DefaultMutableTreeNode col1_t1 = new DefaultMutableTreeNode("Col1");

	tabela.add(col1_t1);
	root.add(tabela);

	tabela = new DefaultMutableTreeNode("Tabela2");
	col1_t1 = new DefaultMutableTreeNode("Co1");

	tabela.add(col1_t1);
	root.add(tabela);

	treeFrom = new JTree(root);
	return treeFrom;
}

public JTree getTreeTo() {
	root = new DefaultMutableTreeNode("Tabelas");
	model = new DefaultTreeModel(root);
	treeTo = new JTree(root);
	return treeTo;
}

/** 

                        Os métodos que não estão funcionando direito.

            */
public DefaultMutableTreeNode findUserObject(Object obj) {
	Enumeration e = root.breadthFirstEnumeration();
	while (e.hasMoreElements()) {
		DefaultMutableTreeNode node =
			(DefaultMutableTreeNode) e.nextElement();
		if (node.getUserObject().equals(obj)) 
			return node;
	}
	return null;
}

public void addNode(Object name) {
	DefaultMutableTreeNode node = findUserObject(name);
	if (node != null) return;

	DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(name);
	model.insertNodeInto(newNode, root, root.getChildCount());

	TreePath path = new TreePath(model.getPathToRoot(newNode));
	treeTo.makeVisible(path);
}

}[/code]

Consegui :smiley:

Mudei de projeto, e deixei os fontes no projeto que eu tava.

Sorry :frowning: