web-dev-qa-db-fra.com

Java - Méthode d'appel via JButton

Comment puis-je appeler une méthode en appuyant sur un bouton JButton?

Par exemple:

when JButton is pressed
hillClimb() is called;

Je sais comment afficher des messages, etc. en appuyant sur un bouton JButton, mais je veux savoir s’il est possible de le faire?

Merci beaucoup.

9
MusTheDataGuy

Si vous savez comment afficher des messages lorsque vous appuyez sur un bouton, vous savez déjà comment appeler une méthode, car ouvrir une nouvelle fenêtre est un appel à une méthode.

Avec plus de détails, vous pouvez implémenter une ActionListener puis utiliser la méthode addActionListener sur votre JButton. Ici est un tutoriel assez basique sur la façon d'écrire une ActionListener.

Vous pouvez aussi utiliser une classe anonyme:

yourButton.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 
        hillClimb();
    } 
});
11
talnicolas

Voici une application triviale montrant comment déclarer et lier un bouton et ActionListener. J'espère que cela rendra les choses plus claires pour vous.

import Java.awt.event.ActionEvent;
import Java.awt.event.ActionListener;
import javax.swing.*;

public class ButtonSample extends JFrame implements ActionListener {

    public ButtonSample() {
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(100, 100);
        setLocation(100, 100);

        JButton button1 = new JButton("button1");
        button1.addActionListener(this);
        add(button1);

        setVisible(true);
    }

    public static void main(String[] args) {
        new ButtonSample();
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        String command = e.getActionCommand();

        if (command.equals("button1")) {
            myMethod();
        }
    }

    public void myMethod() {
        JOptionPane.showMessageDialog(this, "Hello, World!!!!!");
    }
}
4

Tout d'abord, initialisez le bouton, puis ajoutez-lui ActionListener

JButton btn1=new JButton();

btn1.addActionListener(new ActionListener(){
   public void actionPerformed(ActionEvent e){
        hillClimb();
   }
});
1
Hưng Nguyễn

Vous devez ajouter un gestionnaire d'événements (ActionListener en Java) à la JButton.

Cet article explique comment faire cela.

1
JJ.
    btnMyButton.addActionListener(e->{
        JOptionPane.showMessageDialog(null,"Hi Manuel ");
    });

avec lambda