Java Add Special Buttons

Hello, I created a graphing calculator in Java. Now I would like to add an event click on specific buttons to process the data, what should I add to my code? I would like something like "onclik" in Javascript. Max thanks!

    import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;

public class Fenetre extends JFrame{
  private JPanel pan = new JPanel();
  private JButton bouton1 = new JButton("C");
  private JButton bouton2 = new JButton("+");
  private JButton bouton3 = new JButton("-");
  private JButton bouton4 = new JButton("*");
  private JButton bouton5 = new JButton("/");

  private JButton bouton6 = new JButton("1");
  private JButton bouton7 = new JButton("2");
  private JButton bouton8 = new JButton("3");
  private JButton bouton9 = new JButton("4");
  private JButton bouton10 = new JButton("5");
  private JButton bouton11 = new JButton("6");
  private JButton bouton12 = new JButton("7");
  private JButton bouton13 = new JButton("8");
  private JButton bouton14 = new JButton("9");
  private JButton bouton15 = new JButton("0");
  private JButton bouton16 = new JButton(".");
  private JButton bouton17 = new JButton("=");


  private JLabel ecran = new JLabel();

  public Fenetre(){
    ecran = new JLabel("0");
    this.setTitle("Calculatrice");
    this.setSize(300, 450);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setLocationRelativeTo(null);
    //Ajout du bouton à notre content pane
    pan.setLayout(null);
    ecran.setBounds(100,2,100,60);

    bouton1.setBounds(220,60,60,60);
    bouton2.setBounds(220,130,60,60);
    bouton3.setBounds(220,200,60,60);
    bouton4.setBounds(220,270,60,60);
    bouton5.setBounds(220,340,60,60);

    bouton6.setBounds(10,60,60,60);
    bouton7.setBounds(80,60,60,60);
    bouton8.setBounds(150,60,60,60);
    bouton9.setBounds(10,130,60,60);
    bouton10.setBounds(80,130,60,60);
    bouton11.setBounds(150,130,60,60);

    bouton12.setBounds(10,200,60,60);
    bouton13.setBounds(80,200,60,60);
    bouton14.setBounds(150,200,60,60);

    bouton15.setBounds(10,270,60,60);
    bouton16.setBounds(80,270,60,60);
    bouton17.setBounds(150,270,60,60);

    pan.add(ecran);
    pan.add(bouton1);
    pan.add(bouton2);
    pan.add(bouton3);
    pan.add(bouton4);
    pan.add(bouton5);
    pan.add(bouton6);
    pan.add(bouton7);
    pan.add(bouton8);
    pan.add(bouton9);
    pan.add(bouton10);
    pan.add(bouton11);
    pan.add(bouton12);
    pan.add(bouton13);
    pan.add(bouton14);
    pan.add(bouton15);
    pan.add(bouton16);
    pan.add(bouton17);
    this.setContentPane(pan);
    this.setVisible(true);
  }       
}enter code here
+4
source share
2 answers

You can use the addActionListener method.
this method accepts an instance ActionListener- it is an interface with one method - actionPerformed , this will be executed when the button is clicked:

For instance:

b1.addActionListener(
    new ActionListener() {
        @Override
        public void actionPerformed(final ActionEvent e) {
            // do whatever
        }
    }
);

, , ,

+2

ActionListener , , - :

bouton1.addActionListener(
    new ActionListener() {
        @Override
        public void actionPerformed(final ActionEvent e) {
            // do something here
        }
    }
);

onclick, , , MouseListener :

bouton1.addMouseListener(
    new MouseListener() {
        @Override
        public void mouseClicked(final MouseEvent e) {
            ...
        }

        @Override
        public void mousePressed(final MouseEvent e) {
            ...
        }

        @Override
        public void mouseReleased(final MouseEvent e) {
            ...
        }

        @Override
        public void mouseEntered(final MouseEvent e) {
            ...
        }

        @Override
        public void mouseExited(final MouseEvent e) {
            ...
        }
    }
);
+1

Source: https://habr.com/ru/post/1656450/


All Articles