Ce code montre comment utiliser un gestionnaire d'évenement lors d'utilisation de bouttons!
Source / Exemple :
/**by @lpha loup***********
- roy_mac_coy@hotmail.com*
- /
import javax.swing.*; // importation des packages nécessaire
import java.awt.event.*;
import java.awt.*;
public class FrameBu extends JFrame
{
JButton bu1 = new JButton(); // initialisation d'un boutton
JButton bu2 = new JButton(); // " " " " " " " " " " "
JLabel label1 = new JLabel(); // " " " " " " " " texte
public static void main(String[] args)
{
new FrameBu();
}
public FrameBu()
{
initGUI();
}
public void initGUI()
{
this.setTitle("Changer la couleur du fond"); //titre
this.setSize(300,200); // dimension
this.getContentPane().setLayout(null); // aucune mise en page
// particuliere pour la frame
bu1.setText("Rouge"); // texte du boutton
bu1.setBounds(15,35,84,21); // placement ds la frame du boutton
bu1.addActionListener(new ActionButton(this)); // ajouter a un gestionnaire d'évenement
bu2.setText("Vert"); // texte du boutton
bu2.setBounds(15,65,84,21); // placement ds la frame du boutton
bu2.addActionListener(new ActionButton(this));// ajouter a un gestionnaire d'évenement
label1.setText("Choississez votre couleur:"); //texte du "texte"
label1.setBounds(15,4,200,21); //placement du texte ds la frame
this.getContentPane().add(bu1); //ajouter le boutton à la frame
this.getContentPane().add(bu2); //ajouter le boutton à la frame
this.getContentPane().add(label1); //ajouter le texte à la frame
this.setVisible(true);
}
public void ChangeCouleur(ActionEvent e) // méthode de changement de couleur
{
String cmd = e.getActionCommand(); // cmd = variable de getActionCommand
if("Rouge".equals(cmd)) // definition de la commande
this.getContentPane().setBackground(Color.red);// effet sur la frame de la command
else //autre cas de la commande
this.getContentPane().setBackground(Color.green);
}
}
class ActionButton implements ActionListener // class du gestionnaire d'evenements
{
FrameBu obj; //redefinition de la frame
public ActionButton(FrameBu obj)
{
this.obj = obj; //réference à la frame
}
public void actionPerformed(ActionEvent e) // gestionnaire d'evenemnts
{
obj.ChangeCouleur(e); // renvoit vers la méthode à accomplir!
}
}
Conclusion :
ce code n'est pas parfait montrez moi les améliorations possible à apporter!
J'ai toujours un peu de mal à expliquer certaines partie du code, désolé :p
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.