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]
-------------------------------------------------------------------------