Caro Airton, fiz uma classe de exemplo, acho que é isso que vc quer.

public class TesteTree extends JTree implements MouseListener {

/**

* Constructor for TesteTree.

*/

public TesteTree() {

super();

this.addMouseListener(this);

}

/**

* Constructor for TesteTree.

* @param newModel

*/

public TesteTree(TreeModel newModel) {

super(newModel);

this.addMouseListener(this);

}

/**

* @see java.awt.event.MouseListener#mouseClicked(MouseEvent)

*/

public void mouseClicked(MouseEvent e) {

}

/**

* @see java.awt.event.MouseListener#mousePressed(MouseEvent)

*/

public void mousePressed(MouseEvent e) {

showPopup(e);

}

/**

* @see java.awt.event.MouseListener#mouseReleased(MouseEvent)

*/

public void mouseReleased(MouseEvent e) {

showPopup(e);

}

/**

* @see java.awt.event.MouseListener#mouseEntered(MouseEvent)

*/

public void mouseEntered(MouseEvent e) {

}

/**

* @see java.awt.event.MouseListener#mouseExited(MouseEvent)

*/

public void mouseExited(MouseEvent e) {


}


private void showPopup(MouseEvent event) {


// verifica se o click foi com o botão esquerdo

if (event.isPopupTrigger()) {


// Retorna o path do no de acordo com os pontos x,y,

TreePath path = this.getPathForLocation(event.getX(),event.getY());


// Seta o no de acordo com o path

this.setSelectionPath(path);



// Cria um popup

JPopupMenu popupMenu = new JPopupMenu();

popupMenu.show(event.getComponent(), event.getX(), event.getY());


}

}

}

vc tb pode mapear em uma hashtable o no com o popup, assim vc tera para cada
no, popups diferentes, para retornar o no de um treepath.

path.getLastPathComponent(); retorna um object, é so vc fazer um casting
para a classe do no.






----- Original Message -----
From: "Airton" <[EMAIL PROTECTED]>
To: "java-list" <[EMAIL PROTECTED]>
Sent: Tuesday, December 10, 2002 4:09 PM
Subject: [java-list] botão direito do mouse em JTree


> Clicando o botão esquerdo, seleciono um nó no jtree e mostro alguns dados
em
> uma área de texto.
>
> Quero que o botão direito mostre um menu popup, mas é necessário que o nó
> seja selecionado antes, senão a ação recai sobre o último nó selecionado
> (com o botão esquerdo).
>
> Como faço para o botão direito do mouse selecionar o nó como se eu
estivesse
> clicando o esquerdo?
>
> Obrigado.
>
>
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> historico: http://www.mail-archive.com/java-list%40soujava.org.br
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------


------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a