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
E
edushock
x = ev.getX();
y = ev.getY();
já tentou tirar o getPoint()?
TedLoprao
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…
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.
importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassMouseTrackerextendsJFrameimplementsMouseListener,MouseMotionListener{privateJLabelstatusBar;publicMouseTracker(){super("Demonstrating Mouse Events");statusBar=newJLabel();getContentPane().add(statusBar,BorderLayout.SOUTH);// application listens to its own mouse eventsaddMouseListener(this);addMouseMotionListener(this);setSize(275,100);show();}///////////////////////// MouseListener event handlerspublicvoidmouseClicked(MouseEvente){statusBar.setText("Clicked at ["+e.getX()+", "+e.getY()+"]");}publicvoidmousePressed(MouseEvente){statusBar.setText("Pressed at ["+e.getX()+", "+e.getY()+"]");}publicvoidmouseReleased(MouseEvente){statusBar.setText("Released at ["+e.getX()+", "+e.getY()+"]");}publicvoidmouseEntered(MouseEvente){statusBar.setText("Mouse in window");}publicvoidmouseExited(MouseEvente){statusBar.setText("Mouse outside window");}////////////////////////////// MouseMotionListener event handlerspublicvoidmouseDragged(MouseEvente){statusBar.setText("Dragged at ["+e.getX()+", "+e.getY()+"]");}publicvoidmouseMoved(MouseEvente){statusBar.setText("Moved at ["+e.getX()+", "+e.getY()+"]");}publicstaticvoidmain(Stringargs[]){MouseTrackerapp=newMouseTracker();app.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});}}
tetri
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