CCB Premier Import

This commit is contained in:
Christian Cunat-Brulé
2018-07-23 10:52:48 +02:00
commit f55475a23f
765 changed files with 209793 additions and 0 deletions

6
PJCalc/.classpath Normal file
View 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
View 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>

View 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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
PJCalc/bin/Main.class Normal file

Binary file not shown.

View 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
View File

@@ -0,0 +1,6 @@
public class Main {
public static void main(String[] args) {
Calculatrice calculette = new Calculatrice();
}
}