J'ai un tas de JLabels et je voudrais piéger les événements de clic de souris. au moment où j'ai à utiliser:Java MouseListener
public void mouseClicked(MouseEvent arg0) {
}
public void mouseExited(MouseEvent arg0) {
}
public void mouseEntered(MouseEvent arg0) {
}
public void mousePressed(MouseEvent arg0) {
}
public void mouseReleased(MouseEvent arg0) {
System.out.println("Welcome to Java Programming!");
}
Je me demandais s'il y a un moyen plus net de le faire au lieu d'avoir un tas d'événements que je ne veux pas piège?
EDIT:
class MyAdapter extends MouseAdapter {
public void mouseClicked(MouseEvent event) {
System.out.println(event.getComponent());
}
}
les travaux ci-dessus, mais NetBeans dit ajouter @Override anotation. Qu'est-ce que ça veut dire?
EDIT: bien reçu. fixe et résolu.
merci. Je suis désolé de demander cela mais je commence juste avec Java. Je me demandais comment implémenter MouseAdapter séparément pour que le code ne soit pas en ligne? je ne peux pas étendre comme im déjà étendre JFrame. – iTEgg
Vous pouvez créer une catégorie distincte dire, 'MyMouseListener'as: ' myMouseListener public class MouseAdapter() { publique vide mosuePressed (MouseEvent moi) {// tout ce que vous voulez arriver }} ' et Ajoutez-le ensuite en tant qu'écoute de la souris dans votre code d'interface utilisateur: addMouseListener (new MyMouseListener()); Maintenant, une façon de rendre vos éléments d'interface utilisateur disponibles pour votre 'MyMouseListener' nouvellement implémentée est via les paramètres du constructeur. Si vous voulez des détails/code, faites le moi savoir. –
c'est génial. J'ai fait exactement ce que vous avez dit et j'ai cette fonctionnalité maintenant. Je vous remercie. – iTEgg