Evento do mouse E (JPanel) Java ajuda
-
26-09-2019 - |
Pergunta
Eu quero um mouselistener para um jpanel dentro de um jtabbedpane em um jframe ...
Quero imprimir algo, sempre que o mouse for clicado/pressionado.
Tentei olhar em volta, mas quando tento implementá -lo, recebi um erro nesta linha:
public class GUI implements ActionListener, MouseListener
E este é o erro:
GUI
não é abstrato e não substitui o método abstratomouseExited(java.awt.event.MouseEvent)
dentrojava.awt.event.MouseListener
O que isso significa?
PS (o bit jpanel/guia que eu quero é chamado: DisplayMainPanel)
Muito obrigado.
Solução
JPanel jPanel = new JPanel();
jPanel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
System.out.println("mouseClicked");
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
System.out.println("mouseEntered");
}
public void mouseExited(java.awt.event.MouseEvent evt) {
System.out.println("mouseExited");
}
public void mousePressed(java.awt.event.MouseEvent evt) {
System.out.println("mousePressed");
}
public void mouseReleased(java.awt.event.MouseEvent evt) {
System.out.println("mouseReleased");
}
});
Outras dicas
Bem, você tem que substituir mouseExit
:
Na tua GUI
classe:
@Override
public void mouseExit(MouseEvent e) { /* Do nothing */ }
Quando todos os erros se foram. Não se esqueça de yourPanel.addMouseListener(theMouseListener)
:
yourPanel.addMouseListener(theObjectOfTheClassWhichImplementsTheListener);
E, em seguida, defina o foco e o painel, para garantir que os eventos sejam capturados.
yourPanel.requestFocus();