Adicionando MouseListener em ChartPanel

4 respostas
B

Um chartPanel é um tipo de JPanel, eu queria saber como, ao clicar neste painel, apareça um System.out.println(“qq coisa”). Queria um exemplo de como fazer isso.

Valeu!

4 Respostas

B

Eu vou ser mais específico... Eu estou tentando fazer a seguinter ação:

pop = chartPanel.getPopupMenu(); //eh um JPopupMenu
chartPanel.addMouseListener(new LabelListener());

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

...

private class LabelListener extends MouseAdapter {

	    public void mousePressed(java.awt.event.MouseEvent evt) {
	        if (evt.isPopupTrigger()) {
	            System.out.println("olah");
	        }
	    }
	    
	    public void mouseReleased(java.awt.event.MouseEvent evt) {
	        if (evt.isPopupTrigger()) {
	            System.out.println("olah");
	        }
	    }
	}

Mas a string "olah" não aparece de jeito nenhum quando clico... O que será que está errado?

W
bonoddr:
Eu vou ser mais específico... Eu estou tentando fazer a seguinter ação:
pop = chartPanel.getPopupMenu(); //eh um JPopupMenu
chartPanel.addMouseListener(new LabelListener());

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

...

private class LabelListener extends MouseAdapter {

	    public void mousePressed(java.awt.event.MouseEvent evt) {
	        if (evt.isPopupTrigger()) {
	            System.out.println("olah");
	        }
	    }
	    
	    public void mouseReleased(java.awt.event.MouseEvent evt) {
	        if (evt.isPopupTrigger()) {
	            System.out.println("olah");
	        }
	    }
	}

Mas a string "olah" não aparece de jeito nenhum quando clico... O que será que está errado?

vc adiciono o mouselistener no painel?

ex: painel.addMouseListener(this);

B

Adicionei sim cara… Descobri que o problema não está na classe, mas em quem chama ela. Eu testei um exemplo que funciona e liguei ao programa pra testar, e este exemplo não funcionou da mesma maneira. Percebi que qualquer tipo de action fica desabilitada, muito estranho isso! :shock:

Este exemplo é chamado por outra classe, quando clico num botão. Alguma sugestão? Valeu pessoal! 8)

B

Galera, a interface que chama este gráfico é um JDialog, eu não sabia que o travamento da tela se propagava para os filhos… No caso ele trava pra exibição do popup.

Resumindo, só mudei a classe que chamava de JDialog para JFrame. Valeu pela atenção! Assunto encerrado. :wink:

Criado 19 de abril de 2005
Ultima resposta 20 de abr. de 2005
Respostas 4
Participantes 2