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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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