Chamar classe através do Jtree

1 resposta
I

E aí galera, tudo relax? Bom, tenho uma dúvida que é rápida de ser resolvida… Seguinte, fiz um treeview utilizando o Jtree, criei as categorias e em cada categoria (ou book como queiram) exibí os programas que devem ser chamados. Mas está aí o problema, quando eu clico num programa da árvore, este mesmo tem que chamar uma classe. Como faço para chamar esta classe? Alguém poderia me dar um exemplo ou fonte de pesquisa para que quando eu clicar com o mouse chame essa classe?

Atenciosamente
Neto

1 Resposta

Sami_Koivu

Exemplo tosco usando MouseListener:

public class TreeFrame extends JFrame {
    JPanel contentPane;
    BorderLayout borderLayout1 = new BorderLayout();
    JTree jTree1 = new JTree();
    
    public static void main(String[] args) {
        new TreeFrame().setVisible(true);
    }

    public TreeFrame() {
        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            contentPane = (JPanel) getContentPane();
            contentPane.setLayout(borderLayout1);
            setSize(new Dimension(400, 300));
            setTitle("Frame Title");
            jTree1.addMouseListener(new MouseAdapter() {
                public void mousePressed(MouseEvent e) {
                    if(e.getClickCount() == 2) {
                        TreePath selPath = jTree1.getPathForLocation(e.getX(),
                            e.getY());
                        if (selPath == null)return;
    
                        DefaultMutableTreeNode node = (DefaultMutableTreeNode)
                            selPath.getLastPathComponent();
                        Object userObj = node.getUserObject();
                        System.out.println("Usuario escolheu: " + userObj);
                    }
                }
    
            });
            contentPane.add(jTree1, java.awt.BorderLayout.CENTER);

        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }


}

-Sami

Criado 9 de junho de 2005
Ultima resposta 9 de jun. de 2005
Respostas 1
Participantes 2