je suis actuellement la tête plongée dans le Java Swing. Mais là je bloque complet.
Voici la fonction __Bouton__ qui, comme son nom l'indique, crée un bouton.
public class __button__ extends JButton implements ActionListener { JLabel label = new JLabel(); public __button__(String str){ super(str); }
public void actionPerformed(ActionEvent e) { System.out.println("Oui là on est bon"); label.setText("J'ai clique sur le bouton"); } }
et voici la fonction __window__ qui se contente de l'afficher
public class __window__ extends JFrame implements ActionListener { private __panneau__ panel = new __panneau__(); __button__ boutton = new __button__("Et voila !"); public __window__(){ this.setTitle("Nouvel onglet"); this.setSize(800, 600); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); this.setContentPane(panel); this.getContentPane().add(boutton); }
@Override public void actionPerformed(ActionEvent e) { System.out.println("J'ai clique sur le bouton"); } }
Je me contente, dans __window__, d'appeler la classe __button__ qui me dessine un beau bouton.
Dans le but d'obtenir une action de la part de ce malheureux bouton, j'ai la fonction actionPerformed qui DEVRAIT afficher "J'ai clique sur le bouton" dans le terminal.
Ce n'est pas le cas. Je m'arrache les cheveux depuis 2h la dessus, pas moyen. Le probleme se situe probablement dans la construction et l'agencement des fonctions. J'ai même tente de mettre la fonction actionPerformed dans la classe __window__.
Pourriez-vous m'aider ?
merci d'avance
[REOLU]: Comme cela m'arrive à chaque fois, j'ai fini par trouver la réponse 2min après avoir ouvert ce sujet...
Je n'avais pas écrit la ligne:
this.addActionListener(this);
dans
public __button__(String str){ super(str); this.addActionListener(this); }
mettre des sources complets (il manque __panneau__)
mettre tous les imports
nommer correctement les classes, il y a des normes à respecter. Leur nom doit commencer par une majuscule => Panneau, Bouton, Fenetre
les formater normalement
comme ça on pourra envisager d'essayer de compiler ton source pour y trouver les problèmes. Parce qu'on veut bien aider, mais pas passer une heure à faire le ménage et imaginer les trucs qui manquent.
- Edité par michelbillaud 13 mars 2022 à 16:59:49
Saleté de bouton !
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.