Passage de variables entre class
Bonjour
je suis actuellement le cours programmation Java pour les enfants et parents et je butte sur la transmission des paramètres entre class.
Voici le code des mes deux class:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| import javax.swing.*;
import java.awt.GridLayout;
public class CalculSimple {
public static void main(String[] args) {
JPanel fenetre = new JPanel();
GridLayout disposition = new GridLayout(4,2,5,5); //Grille de 4 lignes et 2 colonnes espacées de 5 dots
fenetre.setLayout(disposition); //on affecte la grille à la fenêtre
//création des composants
JLabel label1 = new JLabel("Nombre 1: ");
JTextField nb1 = new JTextField(10);
JLabel label2 = new JLabel("Nombre 2: ");
JTextField nb2 = new JTextField(10);
JLabel label3 = new JLabel("Résultat: ");
JTextField resultat = new JTextField(10);
JButton lancer = new JButton("Ajouter");
JButton retirer = new JButton("Soustraire");
//Intégration des composants dans la fenêtre
fenetre.add(label1);
fenetre.add(nb1);
fenetre.add(label2);
fenetre.add(nb2);
fenetre.add(label3);
fenetre.add(resultat);
fenetre.add(lancer);
fenetre.add(retirer);
//Création d'un cadre et affectation à la fenêtre
JFrame cadre = new JFrame("Addition");
cadre.setContentPane(fenetre);
cadre.setSize(400,150);
cadre.setVisible(true);
//Affectation des listener aux boutons
Moteur go = new Moteur(); //Moteur est la class qui gère les évènements
lancer.addActionListener(go);
retirer.addActionListener(go);
}
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JOptionPane;
import javax.swing.JButton;
//Class qui est à l'écoute d'un évènement
public class Moteur implements ActionListener {
CalculSimple calcul; //Instance de la class CalculSimple.
//Fonction constructeur
Moteur(CalculSimple calcul) {
this.calcul = calcul;
}
//Méthode utilisée dès qu'il y a un évènement
public void actionPerformed(ActionEvent event){
JButton touche = (JButton) event.getSource(); //touche est l'instance de l'objet qui a créé l'évènement
String nTouche = touche.getText(); //nTouche est une variable contenant le texte de la touche indéxée
//Méthode permettant d'afficher une boîte de dialogue
JOptionPane.showMessageDialog(null, "Il y a une une action sur la touche: " + nTouche,"Afficheur d'actions",JOptionPane.WARNING_MESSAGE);
calcul.resultat.setText(nTouche);
}
} |
Le problème est sur la dernière ligne: le paramètre resultat n'est pas reconnu.
Merci de votre aide
Michel