Bah então passa ai pra galera o que vc alterou…!!!
Desde já valeu !!!
Bah então passa ai pra galera o que vc alterou…!!!
Desde já valeu !!!
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
Mudei de projeto, e deixei os fontes no projeto que eu tava.
Sorry