Bonjours tlm,

Voilà je me suis lancer dans le java depuis une semaine. Je me suis fixer comme objectif de crée une petite calculatrice. J'ai donc utiliser l'interface graphique Swing.

voilà 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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
import java.awt.FlowLayout;
import java.awt.Dimension;
import javax.swing.* ;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
public class Calculatrice extends JFrame implements ActionListener{
		private JPanel container = null;//Déclaration de l'objet JPanel	
		private FlowLayout layout = null ;//Déclaration de notre layout
		private JLabel texte = null;
		private JTextField nb1 = null;
		private JTextField nb2 = null;
		private JLabel texte1 = null;
		private JButton button = null;
		private JButton addition = null;
		private JButton soustraction = null;
		private JButton division = null;
		private JButton multiplication = null;
 
		public Calculatrice(){
 
			build();
		}
 
		private void build(){
		this.setTitle("Calcule de votre Moyenne"); //On donne un titre à l’application
		this.setSize(500,500); //On donne une taille à notre fenêtre
		this.setLocationRelativeTo(null); //On centre la fenêtre sur l’écran
		this.setResizable(false) ; //On interdit la redimensionnement de la fenêtre
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l’application de se fermer lors du clic sur la croix
 
			//On lui spécifie un container principal
			this.setContentPane(getContainer());
}
 
	private JPanel getContainer(){
		layout = new FlowLayout(); //Instanciation du layout
		layout.setAlignment(FlowLayout.CENTER);//On centre les composants
 
		container = new JPanel() ; //On crée notre objet
		container.setLayout(layout); //On applique le layout
 
		texte = new JLabel() ;//On crée notre objet
		texte.setPreferredSize(new Dimension(250,25)) ;//On lui donne une taille
		texte.setText("Bienvenu dans la Calculatrice de Luffy"); //On lui donne un texte
 
		texte1 = new JLabel();
		texte1.setPreferredSize(new Dimension(300,300));
		texte1.setText(" Le résultat est : ...");
 
		addition = new JButton();
		addition.setPreferredSize(new Dimension(50,25));
		addition.setText("+");
		addition.addActionListener(this);
 
		soustraction = new JButton();
		soustraction.setPreferredSize(new Dimension(50,25));
		soustraction.setText("-");
		soustraction.addActionListener(this);
 
		division = new JButton();
		division.setPreferredSize(new Dimension(50,25));
		division.setText("/");
		division.addActionListener(this);
 
		multiplication = new JButton();
		multiplication.setPreferredSize(new Dimension(50,25));
		multiplication.setText("*");
		multiplication.addActionListener(this);
 
 
		button = new JButton();
		button.setText("VALIDER");
		button.setPreferredSize(new Dimension(100,25));
		button.addActionListener(this);//On ajoute la fenêtre en tant qu'écouteur du bouton
 
		nb1 = new JTextField();
		nb1.setPreferredSize(new Dimension(300,25));
 
		nb2 = new JTextField();
		nb2.setPreferredSize(new Dimension(300,25));
 
		container.add(texte);//On l'ajoute au container
		container.add(texte1);//On l'ajoute au container
		container.add(button);
		container.add(addition);
		container.add(multiplication);
		container.add(soustraction);
		container.add(division);
		container.add(nb1);
		container.add(nb2);
 
		return container ;
	}
 
 
	public void actionPerformed(ActionEvent e) {
		int nombre1=0,nombre2=0,somme=0;
 
		if ( e.getSource() == button)
			{
 
 
 
				String nombre_test_1=nb1.getText();
				nombre1=Integer.parseInt(nombre_test_1);
				String nombre_test_2=nb2.getText();
				nombre2=Integer.parseInt(nombre_test_2);
 
				somme= nombre1 + nombre2;
 
				  texte.setText("Le résultat de " + nombre1 + " + "+ nombre2 + " est " + somme); //On nombre dans le label
 
			}
 
			if ( e.getSource() == addition)
			{
				String nombre_test_1=nb1.getText();
				nombre1=Integer.parseInt(nombre_test_1);
				String nombre_test_2=nb2.getText();
				nombre2=Integer.parseInt(nombre_test_2);
				somme= nombre1 + nombre2;
				texte1.setText(" Le résultat est : " + somme);
			}
			if ( e.getSource() == soustraction)
			{
				String nombre_test_1=nb1.getText();
				nombre1=Integer.parseInt(nombre_test_1);
				String nombre_test_2=nb2.getText();
				nombre2=Integer.parseInt(nombre_test_2);
 
				somme= nombre1 - nombre2;
				texte1.setText(" Le résultat est : " + somme);
			}
			if ( e.getSource() == division)
			{
				String nombre_test_1=nb1.getText();
				nombre1=Integer.parseInt(nombre_test_1);
				String nombre_test_2=nb2.getText();
				nombre2=Integer.parseInt(nombre_test_2);
				somme= nombre1 / nombre2;
				texte1.setText(" Le résultat est : " + somme);
			}
 
			if ( e.getSource() == multiplication)
			{
				String nombre_test_1=nb1.getText();
				nombre1=Integer.parseInt(nombre_test_1);
				String nombre_test_2=nb2.getText();
				nombre2=Integer.parseInt(nombre_test_2);
				somme= nombre1 * nombre2;
				texte1.setText(" Le résultat est : " + somme);}
 
}
		public static void main(String[] args){
		Calculatrice gui = new Calculatrice(); //On crée une nouvelle instance de notre fenêtre
		gui.setVisible(true);
	}
}

Mon problème est le suivant :

Je n'arrive pas a placer correctement mes différents éléments. J'aimerais donc savoir comment pourrait-je les placer comme je le souhaite dans mon panel.