Coordenada do clique do mouse sobre um JPanel

Preciso pegar as coordenadas x e y atraves do clique do mouse sobre um JPanel… alguém pode me ajudar? é urgente!

O código abaixo não funciona:

jPanel1.addMouseListener ( new MouseListener() { public void mouseClicked(MouseEvent ev) { int x = (int) ev.getPoint().getX(); int y = (int) ev.getPoint().getY(); } } );

Retorna o seguinte erro na linha do
public void mouseClicked(MouseEvent ev) {

is not abstract and does not override abstract method mouseExited(java.awt.event.MouseEvent)

Por favor, não use palavras como “urgente”, cada um aqui tem suas prioridades e o suporte é dado no tempo livre de cada um. Procure colocar no título algo descritivo e na seção correta. Certamente seu tópico terá respostas :wink:

x = ev.getX();
y = ev.getY();

já tentou tirar o getPoint()?

Na verdade o compilador está querendo te dizer que vc nãop sobrescreveu o método mouseExited, a interface MouseListener define vários métodos para serem sobrescritos e todos devem ser implementados, entretanto você pode usar um MouseAdapter ao invés do MouseListener…

jPanel1.addMouseListener (
     new MouseAdapter() {
         public void mouseClicked(MouseEvent ev) {
             int x = (int) ev.getPoint().getX();
             int y = (int) ev.getPoint().getY();
         }
     }
 );

fallow

esse exemplo mostra varias maneiras inclusive a que vc quer, não use o getPoint(x,y). Ele joga as coordenadas num array. Use só o getX() e o getY() eles pega só o valor da coordenada separados como strings.

[code]import java.awt.;
import java.awt.event.
;
import javax.swing.*;
public class MouseTracker extends JFrame
implements MouseListener, MouseMotionListener {
private JLabel statusBar;
public MouseTracker()
{
super( “Demonstrating Mouse Events” );
statusBar = new JLabel();
getContentPane().add( statusBar, BorderLayout.SOUTH );
// application listens to its own mouse events
addMouseListener( this );
addMouseMotionListener( this );
setSize( 275, 100 );
show();
}

///////////////////////

// MouseListener event handlers
public void mouseClicked( MouseEvent e ) {
	statusBar.setText( "Clicked at [" + e.getX() +
			", " + e.getY() + "]" );
}
public void mousePressed( MouseEvent e ) {
	statusBar.setText( "Pressed at [" + e.getX() +
			", " + e.getY() + "]" );
}
public void mouseReleased( MouseEvent e ) {
	statusBar.setText( "Released at [" + e.getX() +
			", " + e.getY() + "]" );
}
public void mouseEntered( MouseEvent e ) {
	statusBar.setText( "Mouse in window" );
}
public void mouseExited( MouseEvent e ){
	statusBar.setText( "Mouse outside window" );
}


////////////////////////////



// MouseMotionListener event handlers
public void mouseDragged( MouseEvent e ) {
	statusBar.setText( "Dragged at [" + e.getX() +
			", " + e.getY() + "]" );
}
public void mouseMoved( MouseEvent e ) {
	statusBar.setText( "Moved at [" + e.getX() +
			", " + e.getY() + "]" );
}
public static void main( String args[] ) {
	MouseTracker app = new MouseTracker();
	app.addWindowListener(
			new WindowAdapter() {
				public void windowClosing( WindowEvent e )
				{
					System.exit( 0 );
				}
			}
	);
}

}

[/code]

perfeito pessoal, a solução do TedLoprao solucionou o problema… e quanto aos adicionais, valeo… acho que assim ajudamos quem ainda tinha alguma outra dúvida