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
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();
}
}
);
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 );
}
}
);
}
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