Dúvida básica de MouseListener!

8 respostas
P

Ae galera, minha dúvida é bem básica:

No código:
LabImage.addMouseListener(new MouseListener(){
			public void mouseEntered(MouseEvent e) {
					LabImage.setText("Olha o mouse em cima do menino aqui hauahua");
			}
			
		});
Meu LabImage é um label que contem uma imagem, até aí tudo bem, o problema é que o Eclipse exige um parâmeto no trecho:LabImage.addMouseListener(new MouseListener(){...Exige um argumento MouseListener, mas não sei qual argumento passar ali........

Alguém pode me ajudar?

8 Respostas

P

Eu preciso implementar uma clase com todo eventos do mouse assim como se estivesse utilizando um TableModel?? :lol:

Valeu! 8)

K

Para não passar por esse tipo de duvida..
Eu gosto de trabalhar com os Listener's desta maneira..

public Ferramentas(){

	lbOpcoes = new JLabel();
	lbOpcoes.setText("Opcoes");
	lbOpcoes.addMouseListener(mlOpcoes);
	this.add(lbOpcoes);

}

MouseListener mlOpcoes = new MouseListener(){

	public void mouseClicked(MouseEvent e) {
	}

	public void mousePressed(MouseEvent e) {
	}

	public void mouseReleased(MouseEvent e) {
	}

	public void mouseEntered(MouseEvent e) {
		lbOpcoes.setText("O Cursor passou por cima do Texto!");
	}

	public void mouseExited(MouseEvent e) {
	}	
};

Pois assim pode ficar aplicavel a mais de um Componente..
Valeu? até mais..

:thumbup:

P

Como vc declara mlOpcoes dentro da Ferramentas???

K

Não está dentro do construtor..
vou postar o código..

package br.com.guj.exemplos;

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JInternalFrame;
import javax.swing.JLabel;

/**
 * @author gui
 */
public class Ferramentas extends JInternalFrame {

	private JLabel lbOpcoes;
	
	/**
	 * Default Class Constructor
	 */
	public Ferramentas(){
		
		// Init the Window Properties
		initWindowProperties();
		
		lbOpcoes = new JLabel();
		lbOpcoes.setText("Opcoes");
		lbOpcoes.addMouseListener(mlOpcoes);
		this.add(lbOpcoes);
		
		// Show the window
		this.setVisible( true );
		
	}
	
	// MouseListener - Atualmente usado apenas no Label Opcoes.
	MouseListener mlOpcoes = new MouseListener(){

		public void mouseClicked(MouseEvent e) {
		}

		public void mousePressed(MouseEvent e) {
		}

		public void mouseReleased(MouseEvent e) {
		}

		public void mouseEntered(MouseEvent e) {
			lbOpcoes.setText("O Cursor passou por cima do Texto!");
		}

		public void mouseExited(MouseEvent e) {
		}
		
	};
	
	/**
	 * Set some window properties
	 */
	public void initWindowProperties(){
		this.setTitle( "Configuracao do Sistema" );
		this.setIconifiable(true);
		this.setClosable(true);
		this.setSize( 640, 480 );
	}
	
}

*Este codigo é apenas para exemplo!

P

Cara ainda não consegui…
Como vc usa a váriável mlOpcoes em seu construtor?

Valeu! 8)

K

Assim?

lbOpcoes = new JLabel();
    lbOpcoes.setText("Opcoes");
    lbOpcoes.addMouseListener( mlOpcoes ); //Adiciono o MouseListener
    this.add(lbOpcoes);
// MouseListener - Atualmente usado apenas no Label Opcoes.
MouseListener mlOpcoes = new MouseListener(){
 
    public void mouseClicked(MouseEvent e) {
    }
 
    public void mousePressed(MouseEvent e) {
    }
 
    public void mouseReleased(MouseEvent e) {
    }
 
    public void mouseEntered(MouseEvent e) {
        lbOpcoes.setText("O Cursor passou por cima do Texto!");
    }
 
    public void mouseExited(MouseEvent e) {
    }
                
};

Seria isso? :D

P

Consegui aqui valeu…é que os códigos estão em ordem contrária hahaha por isso ele fala que mlOpcoes está indeclarado…ma so que importa é que deu certo aqui…valeu!!!

Me diz uma outra dúvida que me surgiu aqui…

Para eu manipular áreas de uma imagem tem como?

Por exemplo, eu tenho uma figura grande e ao o usuário passar o mouse numa coordenada x,y da figura com o mouse aconteça alguma coisa…tem como?

Valeu!

K

Ordem contraria? Não entendi…
Resp.: Deve existir mas isso eu ainda não precisei fazer… :slight_smile:

Valeu? até…
:thumbup:

Criado 25 de maio de 2005
Ultima resposta 25 de mai. de 2005
Respostas 8
Participantes 2