for (int i=0;i<11;i++){
clavier[i].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JButton b=(JButton)(e.getSource());
ecran.setText(ecran.getText()+b.getText());
}
});
}
clavier[11].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
ecran.setText("");
}
});
La boucle permet d'affecter un ActionListener à chacun des boutons 0 à 10, portant les chiffres et la virgule. L'action déclenchée est décrite par les instructions
JButton b=(JButton)(e.getSource());qui permet de récupérer dans la variable b le JButton qui est à l'origine de l'évènement (sa "source"),
ecran.setText(ecran.getText()+b.getText());qui ajoute au texte du JTextField ecran le texte écrit sur le bouton source.
Pour le bouton d'indice 11 l'action déclenchée consiste à effacer le contenu du JTextField ecran.