diff --git a/BUT1/DEV2.1/TP5-Heritage/EXO3/PaperEnCm.java b/BUT1/DEV2.1/TP5-Heritage/EXO3/PaperEnCm.java index cc39a9d..faa1498 100644 --- a/BUT1/DEV2.1/TP5-Heritage/EXO3/PaperEnCm.java +++ b/BUT1/DEV2.1/TP5-Heritage/EXO3/PaperEnCm.java @@ -1,16 +1,56 @@ -public class PaperEnCm extends Paper { +import java.awt.print.Paper; - // Attributs - private double Width_A4 = 8.27; - private double Height_A4 = 11.69; - private double Margin = 0.590551; // 1.5 cm to inches +// Fait par Marco +// taille d'un pouce en cm -> 2.54 +// 1/72 pouces -> 0.352778 - // Constructeur - public PaperEnCm() { - Paper papier = new Paper(); - setSize(Width_A4, Height_A4); - setImageableArea(Margin, Margin,Width_A4,Height_A4); +public class Metrique extends Paper{ + + public Metrique(){ + this.setSize(8.26772,11.69291); + this.setImageableArea(0.590551,0.590551,7.08661,10.51181); } - public double getMetric() -} + public double getMetricHeight(){ // inch = 1/72 pouces + return 0.352778*this.getHeight(); + } + + public double getMetricImageableHeight(){ + return 2.54*this.getImageableHeight(); + } + + public double getMetricImageableWidth(){ + return 2.54*this.getImageableWidth(); + } + + public double getMetricImageableX(){ + return 2.54*this.getImageableX(); + } + + public double getMetricImageableY(){ + return 2.54*this.getImageableY(); + } + + public double getMetricWidth(){ + return 2.54*this.getWidth(); + } + + public void setMetricImageableArea(double x, double y, double width, double height){ + setImageableArea(x/2.54, y/2.54, width/2.54, height/2.54); + return; + } + + public void setMetricSize(double width, double height){ + setSize(width/2.54, height/2.54); + } + + public static void main(String[] args){ + Metrique imprimante = new Metrique(); + System.out.println(imprimante.getMetricImageableWidth()); + System.out.println(imprimante.getMetricImageableX()); + System.out.println(imprimante.getMetricImageableY()); + System.out.println(imprimante.getMetricWidth()); + // ... + return; + } +} \ No newline at end of file diff --git a/BUT1/DEV2.1/TP5-Heritage/EXO4/Nuancier.java b/BUT1/DEV2.1/TP5-Heritage/EXO4/Nuancier.java index 2c7935e..8311aaf 100644 --- a/BUT1/DEV2.1/TP5-Heritage/EXO4/Nuancier.java +++ b/BUT1/DEV2.1/TP5-Heritage/EXO4/Nuancier.java @@ -11,8 +11,6 @@ public class Nuancier{ System.out.println(element.decode()); } fenetre.add(panneau); - - fenetre.pack(); fenetre.setVisible(true); diff --git a/BUT1/DEV2.1/TP6-Dessin/EXO1/Formes.class b/BUT1/DEV2.1/TP6-Dessin/EXO1/Formes.class new file mode 100644 index 0000000..010863b Binary files /dev/null and b/BUT1/DEV2.1/TP6-Dessin/EXO1/Formes.class differ diff --git a/BUT1/DEV2.1/TP6-Dessin/EXO1/Formes.java b/BUT1/DEV2.1/TP6-Dessin/EXO1/Formes.java new file mode 100644 index 0000000..1919064 --- /dev/null +++ b/BUT1/DEV2.1/TP6-Dessin/EXO1/Formes.java @@ -0,0 +1,35 @@ +import javax.swing.*; +import java.awt.*; + +public class Formes extends JComponent { + + private Image imageDeCercle; + public Formes() { + super(); + this.imageDeCercle = Toolkit.getDefaultToolkit().getImage("image.png"); + } + // Méthode pour dessiner sur le composant + @Override + protected void paintComponent(Graphics pinceau) { + // Obligatoire : on crée un nouveau pinceau pour pouvoir le modifier plus tard + Graphics secondPinceau = pinceau.create(); + + // Obligatoire : si le composant n'est pas censé être transparent + if (this.isOpaque()) { + // Obligatoire : on repeint toute la surface avec la couleur de fond + secondPinceau.setColor(this.getBackground()); + secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); + } + + // Maintenant on dessine ce que l'on veut + secondPinceau.setColor(new Color(127,0,255)); // couleur du violet claire + secondPinceau.drawString(">o<", 20, 20); + secondPinceau.setColor(new Color(0,0,255)); + secondPinceau.drawRect(20,35,50,50); + secondPinceau.setColor(new Color(30,255,30)); + secondPinceau.fillArc(20, 95, 50, 50, 0, 360); + if (imageDeCercle != null) { + secondPinceau.drawImage(imageDeCercle, 20, 150, this); + } + } +} diff --git a/BUT1/DEV2.1/TP6-Dessin/EXO1/Test.class b/BUT1/DEV2.1/TP6-Dessin/EXO1/Test.class new file mode 100644 index 0000000..89f4f04 Binary files /dev/null and b/BUT1/DEV2.1/TP6-Dessin/EXO1/Test.class differ diff --git a/BUT1/DEV2.1/TP6-Dessin/EXO1/Test.java b/BUT1/DEV2.1/TP6-Dessin/EXO1/Test.java new file mode 100644 index 0000000..970cf24 --- /dev/null +++ b/BUT1/DEV2.1/TP6-Dessin/EXO1/Test.java @@ -0,0 +1,23 @@ +import javax.swing.*; +import java.awt.*; + +public class Test { + public static void main(String[] args) { + // Création de la fenêtre + JFrame fenetre = new JFrame("Test du dessin"); + fenetre.setSize(500,500); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + // Création d'une instance de la classe Formes + Formes formes = new Formes(); + + // Ajout du panel à la fenêtre + fenetre.add(formes); + + // Définition de la taille de la fenêtre + fenetre.setSize(300, 200); + + // Rendre la fenêtre visible + fenetre.setVisible(true); + } +} diff --git a/BUT1/DEV2.1/TP6-Dessin/EXO1/image.png b/BUT1/DEV2.1/TP6-Dessin/EXO1/image.png new file mode 100644 index 0000000..f4b8874 Binary files /dev/null and b/BUT1/DEV2.1/TP6-Dessin/EXO1/image.png differ diff --git a/BUT1/DEV2.1/TP6-Dessin/EXO2/Sablier.class b/BUT1/DEV2.1/TP6-Dessin/EXO2/Sablier.class new file mode 100644 index 0000000..c3d8272 Binary files /dev/null and b/BUT1/DEV2.1/TP6-Dessin/EXO2/Sablier.class differ diff --git a/BUT1/DEV2.1/TP6-Dessin/EXO2/Sablier.java b/BUT1/DEV2.1/TP6-Dessin/EXO2/Sablier.java new file mode 100644 index 0000000..e221f9e --- /dev/null +++ b/BUT1/DEV2.1/TP6-Dessin/EXO2/Sablier.java @@ -0,0 +1,30 @@ +import javax.swing.*; +import java.awt.*; + +public class Sablier extends JComponent { + + // Méthode pour dessiner sur le composant + @Override + protected void paintComponent(Graphics pinceau) { + // Obligatoire : on crée un nouveau pinceau pour pouvoir le modifier plus tard + Graphics secondPinceau = pinceau.create(); + + // Obligatoire : si le composant n'est pas censé être transparent + if (this.isOpaque()) { + // Obligatoire : on repeint toute la surface avec la couleur de fond + secondPinceau.setColor(this.getBackground()); + secondPinceau.fillRect(0, 0, 5, 5); + } + for (int i = 0; i < 5; i++) { + for (int j = 0; j < 5; j++) { + int[] xPoints = {j * (50 + 20),50 + j * (50 + 20),j * (50 + 20),-50 + j * (50 + 20)}; + int[] yPoints = {i * (50 + 20),50 + i * (50 + 20),2 * 50 + i * (50 + 20),50 + i * (50 + 20)}; + + secondPinceau.setColor(new Color(37, 253, 233)); + secondPinceau.fillPolygon(xPoints, yPoints, 4); + } + } + + + } +} diff --git a/BUT1/DEV2.1/TP6-Dessin/EXO2/Test.class b/BUT1/DEV2.1/TP6-Dessin/EXO2/Test.class new file mode 100644 index 0000000..ec8a501 Binary files /dev/null and b/BUT1/DEV2.1/TP6-Dessin/EXO2/Test.class differ diff --git a/BUT1/DEV2.1/TP6-Dessin/EXO2/Test.java b/BUT1/DEV2.1/TP6-Dessin/EXO2/Test.java new file mode 100644 index 0000000..fd7a61a --- /dev/null +++ b/BUT1/DEV2.1/TP6-Dessin/EXO2/Test.java @@ -0,0 +1,23 @@ +import javax.swing.*; +import java.awt.*; + +public class Test { + public static void main(String[] args) { + // Création de la fenêtre + JFrame fenetre = new JFrame("Test du dessin"); + fenetre.setSize(500,500); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + // Création d'une instance de la classe Sablier + Sablier formes = new Sablier(); + + // Ajout du panel à la fenêtre + fenetre.add(formes); + + // Définition de la taille de la fenêtre + fenetre.setSize(300, 200); + + // Rendre la fenêtre visible + fenetre.setVisible(true); + } +} diff --git a/BUT1/DEV2.1/TP7-Polymorphisme/EXO1/Moto.java b/BUT1/DEV2.1/TP7-Polymorphisme/EXO1/Moto.java new file mode 100644 index 0000000..a40371c --- /dev/null +++ b/BUT1/DEV2.1/TP7-Polymorphisme/EXO1/Moto.java @@ -0,0 +1,19 @@ +public class Moto implements Vehicule { + private String sorte; + private int nbRoues; + + public Moto() { + sorte = "Moto"; + nbRoues = 2; + } + + @Override + public int nbRoues() { + return nbRoues; + } + + @Override + public String sorte() { + return sorte; + } +} diff --git a/BUT1/DEV2.1/TP7-Polymorphisme/EXO1/Test.java b/BUT1/DEV2.1/TP7-Polymorphisme/EXO1/Test.java new file mode 100644 index 0000000..004186b --- /dev/null +++ b/BUT1/DEV2.1/TP7-Polymorphisme/EXO1/Test.java @@ -0,0 +1,22 @@ +import javax.swing.JOptionPane; + +public class Test { + public static void main(String[] args) { + Vehicule v; + Object[] choix = {"Voiture", "Moto"}; + + int reponse = JOptionPane.showOptionDialog(null, + "Quel v\u00E9hicule choisissez-vous ?", + "Question", + JOptionPane.DEFAULT_OPTION, + JOptionPane.QUESTION_MESSAGE, + null, + choix, + null); + if (reponse == 0) + v = new Voiture(); + else + v = new Moto(); + System.out.println("Une "+v.sorte()+" poss\u00E8de "+v.nbRoues()+" roues."); + } +} \ No newline at end of file diff --git a/BUT1/DEV2.1/TP7-Polymorphisme/EXO1/Vehicule.java b/BUT1/DEV2.1/TP7-Polymorphisme/EXO1/Vehicule.java new file mode 100644 index 0000000..6402ae4 --- /dev/null +++ b/BUT1/DEV2.1/TP7-Polymorphisme/EXO1/Vehicule.java @@ -0,0 +1,4 @@ +public interface Vehicule{ + int nbRoues(); + String sorte(); +} \ No newline at end of file diff --git a/BUT1/DEV2.1/TP7-Polymorphisme/EXO1/Voiture.java b/BUT1/DEV2.1/TP7-Polymorphisme/EXO1/Voiture.java new file mode 100644 index 0000000..f40fd74 --- /dev/null +++ b/BUT1/DEV2.1/TP7-Polymorphisme/EXO1/Voiture.java @@ -0,0 +1,19 @@ +public class Voiture implements Vehicule { + private String sorte; + private int nbRoues; + + public Voiture() { + sorte = "Voiture"; + nbRoues = 4; + } + + @Override + public int nbRoues() { + return nbRoues; + } + + @Override + public String sorte() { + return sorte; + } +} diff --git a/BUT1/DEV2.1/TP8-Évènements/EXO1/Fond.java b/BUT1/DEV2.1/TP8-Évènements/EXO1/Fond.java new file mode 100644 index 0000000..8c97296 --- /dev/null +++ b/BUT1/DEV2.1/TP8-Évènements/EXO1/Fond.java @@ -0,0 +1,53 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class Fond implements ActionListener { + static JPanel panneau; + + static ActionListener unObservateur1 = new ActionListener() { + @Override + public void actionPerformed(ActionEvent evenement) { + panneau.setBackground(new Color(0, 255, 255)); // Rouge + } + }; + + static ActionListener unObservateur2 = new ActionListener() { + @Override + public void actionPerformed(ActionEvent evenement) { + panneau.setBackground(new Color(255, 0, 255)); // Vert + } + }; + + static ActionListener unObservateur3 = new ActionListener() { + @Override + public void actionPerformed(ActionEvent evenement) { + panneau.setBackground(new Color(255, 255, 0)); // Bleu + } + }; + + public static void main(String[] args) { + JFrame fenetre = new JFrame("Fond"); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + fenetre.setSize(500, 500); + panneau = new JPanel(); + JButton cyan = new JButton("Cyan"); + JButton magenta = new JButton("Magenta"); + JButton jaune = new JButton("Jaune"); + panneau.add(cyan); + cyan.addActionListener(unObservateur1); + panneau.add(magenta); + magenta.addActionListener(unObservateur2); + panneau.add(jaune); + jaune.addActionListener(unObservateur3); + fenetre.add(panneau); + + fenetre.setVisible(true); + } + + @Override + public void actionPerformed(ActionEvent e) { + // Vous pouvez implémenter cette méthode si nécessaire + } +} diff --git a/BUT1/DEV2.1/TP8-Évènements/EXO2/Attente.java b/BUT1/DEV2.1/TP8-Évènements/EXO2/Attente.java new file mode 100644 index 0000000..7700e9c --- /dev/null +++ b/BUT1/DEV2.1/TP8-Évènements/EXO2/Attente.java @@ -0,0 +1,28 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class Fond Attente ActionListener { + static JPanel panneau; + + public static void main(String[] args) { + JFrame fenetre = new JFrame("Fond"); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + fenetre.setSize(500, 500); + JPanel panneau = new JPanel(); + fenetre.add(panneau); + + fenetre.setVisible(true); + } +} + + +try { + int n = Integer.parseInt(args[0]); + System.out.println("En hexadecimal" + Integer.toHexString(n)); +}catch(NumberFormatException e){ + System.err.println("Ceci n'est pas un" + "entier !"); +} catch(ArrayIndexOutOfBoundsException e){ + System.err.println("Il faut un argument :"); +} \ No newline at end of file diff --git a/BUT1/DEV2.1/TP8-Évènements/EXO3/Radio.java b/BUT1/DEV2.1/TP8-Évènements/EXO3/Radio.java new file mode 100644 index 0000000..99bcefc --- /dev/null +++ b/BUT1/DEV2.1/TP8-Évènements/EXO3/Radio.java @@ -0,0 +1,57 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class Radio implements ActionListener { + static JPanel panneau; + + static ActionListener unObservateur1 = new ActionListener() { + @Override + public void actionPerformed(ActionEvent evenement) { + panneau.setBackground(new Color(0, 255, 255)); // Rouge + } + }; + + static ActionListener unObservateur2 = new ActionListener() { + @Override + public void actionPerformed(ActionEvent evenement) { + panneau.setBackground(new Color(255, 0, 255)); // Vert + } + }; + + static ActionListener unObservateur3 = new ActionListener() { + @Override + public void actionPerformed(ActionEvent evenement) { + panneau.setBackground(new Color(255, 255, 0)); // Bleu + } + }; + + public static void main(String[] args) { + JFrame fenetre = new JFrame("Fond version radio bouton"); + fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + fenetre.setSize(500, 500); + panneau = new JPanel(); + JRadioButton cyan = new JRadioButton("Cyan"); + JRadioButton magenta = new JRadioButton("Magenta"); + JRadioButton jaune = new JRadioButton("Jaune"); + ButtonGroup groupe = new ButtonGroup(); + groupe.add(cyan); + groupe.add(magenta); + groupe.add(jaune); + panneau.add(cyan); + cyan.addActionListener(unObservateur1); + panneau.add(magenta); + magenta.addActionListener(unObservateur2); + panneau.add(jaune); + jaune.addActionListener(unObservateur3); + fenetre.add(panneau); + + fenetre.setVisible(true); + } + + @Override + public void actionPerformed(ActionEvent e) { + // Vous pouvez implémenter cette méthode si nécessaire + } +}