CCB Premier Import
This commit is contained in:
6
PJCalc/.classpath
Normal file
6
PJCalc/.classpath
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
17
PJCalc/.project
Normal file
17
PJCalc/.project
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>PJCalc</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
11
PJCalc/.settings/org.eclipse.jdt.core.prefs
Normal file
11
PJCalc/.settings/org.eclipse.jdt.core.prefs
Normal file
@@ -0,0 +1,11 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=1.8
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.source=1.8
|
||||
BIN
PJCalc/bin/Calculatrice$ChiffreListener.class
Normal file
BIN
PJCalc/bin/Calculatrice$ChiffreListener.class
Normal file
Binary file not shown.
BIN
PJCalc/bin/Calculatrice$DivListener.class
Normal file
BIN
PJCalc/bin/Calculatrice$DivListener.class
Normal file
Binary file not shown.
BIN
PJCalc/bin/Calculatrice$EgalListener.class
Normal file
BIN
PJCalc/bin/Calculatrice$EgalListener.class
Normal file
Binary file not shown.
BIN
PJCalc/bin/Calculatrice$MoinsListener.class
Normal file
BIN
PJCalc/bin/Calculatrice$MoinsListener.class
Normal file
Binary file not shown.
BIN
PJCalc/bin/Calculatrice$MultiListener.class
Normal file
BIN
PJCalc/bin/Calculatrice$MultiListener.class
Normal file
Binary file not shown.
BIN
PJCalc/bin/Calculatrice$PlusListener.class
Normal file
BIN
PJCalc/bin/Calculatrice$PlusListener.class
Normal file
Binary file not shown.
BIN
PJCalc/bin/Calculatrice$ResetListener.class
Normal file
BIN
PJCalc/bin/Calculatrice$ResetListener.class
Normal file
Binary file not shown.
BIN
PJCalc/bin/Calculatrice.class
Normal file
BIN
PJCalc/bin/Calculatrice.class
Normal file
Binary file not shown.
BIN
PJCalc/bin/Main.class
Normal file
BIN
PJCalc/bin/Main.class
Normal file
Binary file not shown.
244
PJCalc/src/Calculatrice.java
Normal file
244
PJCalc/src/Calculatrice.java
Normal file
@@ -0,0 +1,244 @@
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Color;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Font;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import javax.swing.BorderFactory;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
|
||||
public class Calculatrice extends JFrame {
|
||||
private JPanel container = new JPanel();
|
||||
//Tableau stockant les <20>l<EFBFBD>ments <20> afficher dans la calculatrice
|
||||
String[] tab_string = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "0", ".", "=", "C", "+", "-", "*", "/"};
|
||||
//Un bouton par <20>l<EFBFBD>ment <20> afficher
|
||||
JButton[] button = new JButton[tab_string.length];
|
||||
private JLabel ecran = new JLabel();
|
||||
private Dimension dim = new Dimension(50, 30);
|
||||
public double getValeur;
|
||||
private boolean clicOperateur = false, update = false;
|
||||
private String operateur = "";
|
||||
|
||||
public Calculatrice(){
|
||||
this.setSize(280, 300);
|
||||
this.setTitle("Calculette");
|
||||
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
this.setLocationRelativeTo(null);
|
||||
this.setResizable(false);
|
||||
//On initialise le conteneur avec tous les composants
|
||||
initComposant();
|
||||
//On ajoute le conteneur
|
||||
this.setContentPane(container);
|
||||
this.setVisible(true);
|
||||
}
|
||||
|
||||
private void initComposant(){
|
||||
//On d<>finit la police d'<27>criture <20> utiliser
|
||||
Font police = new Font("Bell MT", Font.BOLD, 50);
|
||||
ecran = new JLabel("0");
|
||||
ecran.setFont(police);
|
||||
//On aligne les informations <20> droite dans le JLabel
|
||||
ecran.setHorizontalAlignment(JLabel.RIGHT);
|
||||
ecran.setPreferredSize(new Dimension(220, 40));
|
||||
ecran.setForeground(Color.blue);
|
||||
JPanel operateur = new JPanel();
|
||||
operateur.setPreferredSize(new Dimension(75, 255));
|
||||
JPanel chiffre = new JPanel();
|
||||
chiffre.setPreferredSize(new Dimension(165, 255));
|
||||
JPanel panEcran = new JPanel();
|
||||
panEcran.setPreferredSize(new Dimension(250, 50));
|
||||
|
||||
//On parcourt le tableau initialis<69>
|
||||
//afin de cr<63>er nos boutons
|
||||
for(int i = 0; i < tab_string.length; i++){
|
||||
button[i] = new JButton(tab_string[i]);
|
||||
button[i].setBackground(Color.lightGray);
|
||||
button[i].setPreferredSize(dim);
|
||||
|
||||
switch(i){
|
||||
//Pour chaque <20>l<EFBFBD>ment situ<74> <20> la fin du tableau
|
||||
//et qui n'est pas un chiffre
|
||||
//on d<>finit le comportement <20> avoir gr<67>ce <20> un listener
|
||||
case 11 :
|
||||
button[i].addActionListener(new EgalListener());
|
||||
button[i].setBackground(Color.green);
|
||||
chiffre.add(button[i]);
|
||||
break;
|
||||
case 12 :
|
||||
button[i].setForeground(Color.blue);
|
||||
button[i].addActionListener(new ResetListener());
|
||||
button[i].setBackground(Color.gray);
|
||||
operateur.add(button[i]);
|
||||
break;
|
||||
case 13 :
|
||||
button[i].addActionListener(new PlusListener());
|
||||
button[i].setPreferredSize(dim);
|
||||
button[i].setBackground(Color.red);
|
||||
operateur.add(button[i]);
|
||||
break;
|
||||
case 14 :
|
||||
button[i].addActionListener(new MoinsListener());
|
||||
button[i].setPreferredSize(dim);
|
||||
button[i].setBackground(Color.red);
|
||||
operateur.add(button[i]);
|
||||
break;
|
||||
case 15 :
|
||||
button[i].addActionListener(new MultiListener());
|
||||
button[i].setPreferredSize(dim);
|
||||
button[i].setBackground(Color.red);
|
||||
operateur.add(button[i]);
|
||||
break;
|
||||
case 16 :
|
||||
button[i].addActionListener(new DivListener());
|
||||
button[i].setPreferredSize(dim);
|
||||
button[i].setBackground(Color.red);
|
||||
operateur.add(button[i]);
|
||||
break;
|
||||
default :
|
||||
//Par d<>faut, ce sont les premiers <20>l<EFBFBD>ments du tableau
|
||||
//donc des chiffres, on affecte alors le bon listener
|
||||
chiffre.add(button[i]);
|
||||
button[i].addActionListener(new ChiffreListener());
|
||||
break;
|
||||
}
|
||||
}
|
||||
panEcran.add(ecran);
|
||||
panEcran.setBorder(BorderFactory.createLineBorder(Color.MAGENTA));
|
||||
container.add(panEcran, BorderLayout.NORTH);
|
||||
container.add(chiffre, BorderLayout.CENTER);
|
||||
container.add(operateur, BorderLayout.EAST);
|
||||
}
|
||||
|
||||
//M<>thode permettant d'effectuer un calcul selon l'op<6F>rateur s<>lectionn<6E>
|
||||
private void calcul(){
|
||||
if(operateur.equals("+")){
|
||||
getValeur = getValeur +
|
||||
Double.valueOf(ecran.getText()).doubleValue();
|
||||
ecran.setText(String.valueOf(getValeur));
|
||||
}
|
||||
if(operateur.equals("-")){
|
||||
getValeur = getValeur -
|
||||
Double.valueOf(ecran.getText()).doubleValue();
|
||||
ecran.setText(String.valueOf(getValeur));
|
||||
}
|
||||
if(operateur.equals("*")){
|
||||
getValeur = getValeur *
|
||||
Double.valueOf(ecran.getText()).doubleValue();
|
||||
ecran.setText(String.valueOf(getValeur));
|
||||
}
|
||||
if(operateur.equals("/")){
|
||||
try{
|
||||
getValeur = getValeur /
|
||||
Double.valueOf(ecran.getText()).doubleValue();
|
||||
ecran.setText(String.valueOf(getValeur));
|
||||
} catch(ArithmeticException e) {
|
||||
ecran.setText("0");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Listener utilis<69> pour les chiffres
|
||||
//Permet de stocker les chiffres et de les afficher
|
||||
class ChiffreListener implements ActionListener {
|
||||
public void actionPerformed(ActionEvent e){
|
||||
//On affiche le chiffre additionnel dans le label
|
||||
String str = ((JButton)e.getSource()).getText();
|
||||
if(update){
|
||||
update = false;
|
||||
}
|
||||
else{
|
||||
if(!ecran.getText().equals("0"))
|
||||
str = ecran.getText() + str;
|
||||
}
|
||||
ecran.setText(str);
|
||||
}
|
||||
}
|
||||
|
||||
//Listener affect<63> au bouton =
|
||||
class EgalListener implements ActionListener {
|
||||
public void actionPerformed(ActionEvent arg0){
|
||||
calcul();
|
||||
update = true;
|
||||
clicOperateur = false;
|
||||
}
|
||||
}
|
||||
|
||||
//Listener affect<63> au bouton +
|
||||
class PlusListener implements ActionListener {
|
||||
public void actionPerformed(ActionEvent arg0){
|
||||
if(clicOperateur){
|
||||
calcul();
|
||||
ecran.setText(String.valueOf(getValeur));
|
||||
}
|
||||
else{
|
||||
getValeur = Double.valueOf(ecran.getText()).doubleValue();
|
||||
clicOperateur = true;
|
||||
}
|
||||
operateur = "+";
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
//Listener affect<63> au bouton -
|
||||
class MoinsListener implements ActionListener {
|
||||
public void actionPerformed(ActionEvent arg0){
|
||||
if(clicOperateur){
|
||||
calcul();
|
||||
ecran.setText(String.valueOf(getValeur));
|
||||
}
|
||||
else{
|
||||
getValeur = Double.valueOf(ecran.getText()).doubleValue();
|
||||
clicOperateur = true;
|
||||
}
|
||||
operateur = "-";
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
//Listener affect<63> au bouton *
|
||||
class MultiListener implements ActionListener {
|
||||
public void actionPerformed(ActionEvent arg0){
|
||||
if(clicOperateur){
|
||||
calcul();
|
||||
ecran.setText(String.valueOf(getValeur));
|
||||
}
|
||||
else{
|
||||
getValeur = Double.valueOf(ecran.getText()).doubleValue();
|
||||
clicOperateur = true;
|
||||
}
|
||||
operateur = "*";
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
//Listener affect<63> au bouton /
|
||||
class DivListener implements ActionListener {
|
||||
public void actionPerformed(ActionEvent arg0){
|
||||
if(clicOperateur){
|
||||
calcul();
|
||||
ecran.setText(String.valueOf(getValeur));
|
||||
}
|
||||
else{
|
||||
getValeur = Double.valueOf(ecran.getText()).doubleValue();
|
||||
clicOperateur = true;
|
||||
}
|
||||
operateur = "/";
|
||||
update = true;
|
||||
}
|
||||
}
|
||||
|
||||
//Listener affect<63> au bouton de remise <20> z<>ro
|
||||
class ResetListener implements ActionListener {
|
||||
public void actionPerformed(ActionEvent arg0){
|
||||
clicOperateur = false;
|
||||
update = true;
|
||||
getValeur = 0;
|
||||
operateur = "";
|
||||
ecran.setText("");
|
||||
}
|
||||
}
|
||||
}
|
||||
6
PJCalc/src/Main.java
Normal file
6
PJCalc/src/Main.java
Normal file
@@ -0,0 +1,6 @@
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
Calculatrice calculette = new Calculatrice();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user