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
| import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Calculatrice extends JFrame implements ActionListener{
//Déclaration des objets membres de la classe
private JLabel texte = null;
private JTextField nb1 = null;
private JTextField nb2 = null;
private JLabel texte1 = null;
private JButton adition = 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 à lapplication
this.setSize(500,500); //On donne une taille à notre fenêtre
this.setLocationRelativeTo(null); //On centre la fenêtre sur lécran
this.setResizable(true) ; //On interdit la redimensionnement de la fenêtre
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à lapplication de se fermer lors du clic sur la croix
//On lui spécifie un container principal
this.setContentPane(getcontainer());
}
private JPanel getcontainer(){
// On va créer le pane pour la pub !! :D
// JPanel panel_pub = new JPanel(); On va faire sans Panel pour voir que ca marche !!!
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
//panel_pub.add(texte);
// On va créer le panel pour les nombres
JPanel panel_nombre = new JPanel(new GridLayout(2,1,5,5)); // les deux dernieres valeurs sont l'écart entre les cellules
nb1 = new JTextField();
nb1.setPreferredSize(new Dimension(100,25));
panel_nombre.add(nb1);
nb2 = new JTextField();
nb2.setPreferredSize(new Dimension(100,25));
panel_nombre.add(nb2);
// On va créer le panel pour les touches
JPanel panel_touche = new JPanel(new GridLayout(2,2)); // un constructeur existe comme ceci, ca t'evite une ligne de plus !!!
adition = new JButton();
adition.setPreferredSize(new Dimension(50,25));
adition.setText("+");
adition.addActionListener(this);
panel_touche.add(adition); //adition a 2 D ;)
soustraction = new JButton();
soustraction.setPreferredSize(new Dimension(50,25));
soustraction.setText("-");
soustraction.addActionListener(this);
panel_touche.add(soustraction); // ici tu peux mettre plusieurs élément (jusqu'a 4 car tu l'as configuré pour ...)
division = new JButton();
division.setPreferredSize(new Dimension(50,25));
division.setText("/");
division.addActionListener(this);
panel_touche.add(division);
multiplication = new JButton();
multiplication.setPreferredSize(new Dimension(50,25));
multiplication.setText("*");
multiplication.addActionListener(this);
panel_touche.add(multiplication);
// On va créer un panel pour le résultat
JPanel panel_resultat = new JPanel(); // un panel ne serait pas necessaire car tu n'as qu'un seul objet, mais je sent que pour la suite ...
texte1 = new JLabel();
texte1.setPreferredSize(new Dimension(300,300));
texte1.setText(" Le résultat est : ...");
panel_resultat.add(texte1);
// On assemble le tout pour créer le seul et unique panneau qui t'intéresse.
JPanel panel_complet = new JPanel(new BorderLayout()); // un borderLayout contient 5 zone (Nord, Sud, Est, Ouest, et Centre)
panel_complet.add(texte /*panel_pub*/, BorderLayout.NORTH);
panel_complet.add(panel_nombre, BorderLayout.WEST);
panel_complet.add(panel_touche, BorderLayout.EAST);
panel_complet.add(panel_resultat, BorderLayout.SOUTH);
return panel_complet;
}
public void actionPerformed(ActionEvent e) {
int nombre1=0,nombre2=0,somme=0;
if ( e.getSource() == adition)
{
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);
}
} |
Partager