Quelques questions concernant le tuto Java - TP Calculatrice
Bonjour à tous ! :)
Je suis nouveau sur ce forum, j'apprends depuis quelques jours le java par le biais du tutoriel java pour les enfants, j'en suis actuellement à l'élaboration de la calculatrice mais j'ai quelques soucis, je vous montre le code :
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
import javax.swing.*;
import java.awt.GridLayout;
import java.awt.BorderLayout;
public class Calculatrice {
// Déclaration de tous les composants de la calculatrice.
JPanel contenuFenêtre;
JTextField champAffichage;
JButton bouton0;
JButton bouton1;
JButton bouton2;
JButton bouton3;
JButton bouton4;
JButton bouton5;
JButton bouton6;
JButton bouton7;
JButton bouton8;
JButton bouton9;
JButton boutonVirgule;
JButton boutonEgale;
JPanel panneauChiffres;
// Le constructeur crée les composants en mémoire
// et les ajoute au cadre en utilisant une combinaison
// de Borderlayout et Gridlayout
Calculatrice() {
contenuFenêtre = new JPanel();
// Affecte un gestionnaire de présentation à ce panneau
BorderLayout dispositionl = new BorderLayout();
contenuFenêtre.setLayout(dispositionl);
// Crée le champ d'affichage et le positionne dans
// la zone nord de la fenêtre
champAffichage = new JTextField(30);
contenuFenêtre.add("North", champAffichage);
// Crée les boutons en utilisant le constructeur de
// la classe JButton qui prend en paramètre le libellé
// du bouton
bouton0 = new JButton("0");
bouton1 = new JButton("1");
bouton2 = new JButton("2");
bouton3 = new JButton("3");
bouton4 = new JButton("4");
bouton5 = new JButton("5");
bouton6 = new JButton("6");
bouton7 = new JButton("7");
bouton8 = new JButton("8");
bouton9 = new JButton("9");
boutonVirgule = new JButton(",");
boutonEgale = new JButton("=");
// Crée le panneau avec le quadrillage qui contient
// les 12 boutons - les 10 boutons numériques et ceux
// représentant la virgule et le signe égale
panneauChiffres = new JPanel();
GridLayout disposition2 = new GridLayout(4, 3);
panneauChiffres.setLayout(disposition2);
// Ajoute les contrôles au panneau panneauChiffres
panneauChiffres.add(bouton1);
panneauChiffres.add(bouton2);
panneauChiffres.add(bouton3);
panneauChiffres.add(bouton4);
panneauChiffres.add(bouton5);
panneauChiffres.add(bouton6);
panneauChiffres.add(bouton7);
panneauChiffres.add(bouton8);
panneauChiffres.add(bouton9);
panneauChiffres.add(bouton0);
panneauChiffres.add(boutonVirgule);
panneauChiffres.add(boutonEgale);
// Ajoute panneauChiffres à la zone centrale de la
// fenêtre
contenuFenêtre.add("Center", panneauChiffres);
// Crée le cadre et lui affecte son contenu
JFrame frame = new JFrame("Calculatrice");
frame.setContentPane(contenuFenêtre);
// Affecte à la fenêtre des dimensions suffisantes pour
// prendre en compte tous les contrôles
frame.pack();
// Enfin, affiche la fenêtre
frame.setVisible(true);
}
public static void main(String[] args) {
Calculatrice calc = new Calculatrice();
}
} |
Ce code est celui donné dans l'exemple, et je n'arrive pas à le faire compiler, Eclipse me dit que l'erreur se situe à la fin, ou je met le main, pour qu'il compile la seule solution que j'ai trouvé est de créer une nouvelle classe et d'y inclure le main, sinon je n'y arrive pas, pourquoi ?
Ensuite concernant un autre morceau de code :
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
| import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JButton;
public class MoteurCalcul implements ActionListener {
Calculatrice parent; // une référence à la Calculatrice
// Le constructeur stocke la référence à la fenêtre
// Calculatrice dans la variable membre parent
MoteurCalcul(Calculatrice parent) {
this.parent = parent;
}
public void actionPerformed(ActionEvent événement) {
// Retrouve la source de cette action
JButton boutonCliqué = (JButton) événement.getSource();
// Retrouve le texte existant dans le champ Affichage
// de la Calculatrice
String texteChampAffichage =
parent.champAffichage.getText();
// Retrouve le libellé du bouton
String libelléBoutonCliqué = boutonCliqué.getText();
// Affecte le nouveau texte au champ Affichage
parent.champAffichage.setText(texteChampAffichage +
libelléBoutonCliqué);
}
} |
Je n'ai pas bien compris l'utilisation de la référence parent, qui peut m'expliquer rapidement à quoi cela sert ? :)
Merci pour votre aide :)