Mouse event

5 respostas
fabiodurgante
tabela.addMouseListener(new MouseAdapter(){        
      public void mouseClicked(MouseEvent e){   
            Point p = e.getPoint();
      if(tabela.columnAtPoint(p) == 6){ //abre o jdialog somente na coluna 6   
          
           Cliente cli = getSelecionadoCliente();    
        new AlterarCliente(null, true, cli).setVisible(true); 
        
        
           System.err.println("Clicked at: " + tabela.rowAtPoint(p) + tabela.columnAtPoint(p));

      }   
      }   
    });

adiciono um evento na tabela que quando clicado ele abre o jdialog alterar porem quando eu faço a pequisa
por nome aparece no jtable o resultado da pesquisa ai
ele executa new AlterarCliente(null, true, cli).setVisible(true); varias vezes 4 vezes alguma dica ???

5 Respostas

lina

Oi,

Não sei porque você está utilizando o e.getPoint == 6 para verificar a quantidade do click no mouse. Na verdade, desconheco isso.

De uma olhada em como uso o mouseClicked:

//
// Adiciona eventos de mouse.
//
addMouseListener	
(
	new MouseAdapter() 
	{
		public 
		void			mouseClicked
					(
						MouseEvent	e
					) 
		{
			//
			// Se clicado 2 vezes ...
			//
			if	(
					e.getClickCount() == 2
				) 
			{	
						
			}
		}
	}
);

Tchauzin!

Eder_Peixoto

Pelo que entendi, você pretende chamar um JDialog quando o usuário clicar na coluna 6 do seu JTable. O método getPoint() retorna a localização do mouse, e o columnAtPoint( Point p ) retorna o index da coluna.

Não entendi quando você afirma que o objeto AlterarCliente é executado 4 vezes.

M

voce não tem um método na tabela para pegar a coluna selecionada?

eu pessoalmente acharia melhor…

fabiodurgante

exato quando clicar na coluna 6 eu pego alinha selecionada da tabela e chamo o jdialog AlterarCliente porem
o alterarcliente abre 4 vezes

é ele fica selecionado a linha do jtable dae eu fecho o jdialog e ele abre denovo sozinho mais 3 vezes

teria que quando clica na linha depois q ele abrisse o jdialog desselecionasse a linha do jtable

fabiodurgante

opa arrumei valeu ai a todos pela ajuda

tabela.addMouseListener(new MouseAdapter(){        
      public void mouseClicked(MouseEvent e){   
            Point p = e.getPoint();
      if(tabela.columnAtPoint(p) == 6){//se dois cliks   
          
           Cliente cli = getSelecionadoCliente();  
      
        new AlterarCliente(null, true, cli).setVisible(true); 
   p =null;        
           System.err.println("Clicked at: " + tabela.rowAtPoint(p) + tabela.columnAtPoint(p));

      }   
      }   
    });
Criado 8 de fevereiro de 2009
Ultima resposta 9 de fev. de 2009
Respostas 5
Participantes 4