Controle machine

This commit is contained in:
Simoes Lukas
2025-03-19 10:18:41 +01:00
parent 42cc204dea
commit 376861b608
86 changed files with 803 additions and 179 deletions

Binary file not shown.

View File

@@ -0,0 +1,12 @@
import java.awt.*;
import javax.swing.*;
public class Fenetre extends JFrame {
public Fenetre() {
this.setSize(768, 1024);
this.setLocation(100, 100);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new GridLayout(1, 1));
this.add(new Image());
}
}

Binary file not shown.

View File

@@ -0,0 +1,19 @@
import java.awt.*;
import javax.swing.*;
import java.io.*;
public class Image extends JComponent {
@Override
public void paintComponent(Graphics pinceau) {
Graphics secondPinceau = pinceau.create();
Color couleur;
if (this.isOpaque()) {
secondPinceau.setColor(this.getBackground());
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
}
secondPinceau.drawImage(new LectureFichier().getImage(), 0, 0, this);
}
}

Binary file not shown.

View File

@@ -0,0 +1,52 @@
import java.awt.*;
import java.io.*;
import java.awt.image.BufferedImage;
public class LectureFichier {
private BufferedImage image;
public LectureFichier() {
this.image = new BufferedImage(768, 1024, BufferedImage.TYPE_3BYTE_BGR);
int r;
int g;
int b;
int i = 0;
int j = 0;
Color couleur;
try {
FileInputStream fichier = new FileInputStream("image.bin");
while(fichier.available() >= 3) {
try {
r = fichier.read();
g = fichier.read();
b = fichier.read();
couleur = new Color(r, g, b);
this.image.setRGB(i, j, couleur.getRGB());
i++;
if (i >= 768) {
j++;
i = 0;
}
} catch (IOException e2) {
System.out.println("Erreur d'accès");
}
}
try {
fichier.close();
} catch (IOException e3) {
System.out.println("Erreur de fermeture");
}
} catch (IOException e1) {
System.out.println("Erreur d'ouverture");
}
}
public BufferedImage getImage() {
return this.image;
}
}

Binary file not shown.

View File

@@ -0,0 +1,6 @@
public class Main {
public static void main(String[] args) {
Fenetre fenetre = new Fenetre();
fenetre.setVisible(true);
}
}

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,99 @@
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.awt.event.WindowListener;
import java.awt.event.WindowEvent;
import javax.swing.*;
public class FermetureFenetre implements WindowListener {
private int fenetreX;
private int fenetreY;
private JFrame fenetre;
public FermetureFenetre(JFrame fenetre) {
super();
this.fenetre = fenetre;
this.fenetreX = 300;
this.fenetreY = 200;
}
public void windowActivated(WindowEvent evenement) {
} // premier plan
public void windowClosed(WindowEvent evenement) {
}
public void windowClosing(WindowEvent evenement) {
try {
Dimension dims = this.fenetre.getSize();
FileOutputStream fichier = new FileOutputStream("windowlocation.bin");
DataOutputStream flux = new DataOutputStream(fichier);
try {
flux.writeInt((int) dims.getWidth());
flux.writeInt((int) dims.getHeight());
} catch (IOException e2){
System.out.println("Erreur d'écriture");
}
try {
flux.close();
} catch (IOException e3) {
System.out.println("Erreur de fermeture");
}
} catch (IOException e) {
System.out.println("Erreur d'ouverture");
}
} // avant fermeture
public void windowDeactivated(WindowEvent evenement) {
} // arrière-plan
public void windowDeiconified(WindowEvent evenement) {
} // restauration
public void windowIconified(WindowEvent evenement){
} // minimisation
public void windowOpened(WindowEvent evenement) {
try {
FileInputStream fichier = new FileInputStream("windowlocation.bin");
DataInputStream flux = new DataInputStream(fichier);
try {
if (flux.available() >= 8) {
this.fenetreX = flux.readInt();
this.fenetreY = flux.readInt();
this.fenetre.setSize(this.fenetreX, this.fenetreY);
}
} catch (IOException e5) {
System.out.println("Erreur de lecture");
}
try {
flux.close();
} catch (IOException e6) {
System.out.println("Erreur de fermeture");
}
} catch (IOException e4) {
System.out.println("Erreur d'ouverture");
}
}
public int getX() {
return this.fenetreX;
}
public int getY() {
return this.fenetreY;
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,46 @@
import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Fond {
public static void main(String[] args) {
JFrame fenetre = new JFrame();
FermetureFenetre evenementFenetre = new FermetureFenetre(fenetre);
fenetre.addWindowListener(evenementFenetre);
fenetre.setLocation(100,100);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre.setLayout(new GridLayout(1, 1));
JPanel panneau = new JPanel();
JButton bouton1 = new JButton("Cyan");
JButton bouton2 = new JButton("Magenta");
JButton bouton3 = new JButton("Jaune");
bouton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evenement) {
panneau.setBackground(Color.CYAN);
}
});
bouton2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evenement) {
panneau.setBackground(Color.MAGENTA);
}
});
bouton3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evenement) {
panneau.setBackground(Color.YELLOW);
}
});
panneau.add(bouton1);
panneau.add(bouton2);
panneau.add(bouton3);
fenetre.add(panneau);
fenetre.setVisible(true);
}
}

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,81 @@
import java.awt.*;
import java.io.*;
public class EcritureFichier {
private byte r;
private byte g;
private byte b;
private byte r2;
private byte g2;
private byte b2;
public EcritureFichier(byte r, byte g, byte b) {
this.r = r;
this.g = g;
this.b = b;
try {
FileOutputStream fichier = new FileOutputStream("couleur.bin");
try {
for (int i = 0; i != 768; i++) {
for (int j = 0; j != 1024; j++) {
fichier.write(r);
fichier.write(g);
fichier.write(b);
}
}
} catch (IOException e2) {
System.out.println("Erreur d'écriture");
}
try {
fichier.close();
} catch (IOException e3) {
System.out.println("Erreur de fermeture");
}
} catch (IOException e) {
System.out.println("Erreur d'ouverture");
}
}
public EcritureFichier(byte r, byte g, byte b, byte r2, byte g2, byte b2) {
this.r = r;
this.g = g;
this.b = b;
this.r2 = r2;
this.g2 = g2;
this.b2 = b2;
try {
FileOutputStream fichier = new FileOutputStream("couleur.bin");
try {
for (int i = 0; i != 768; i++) {
for (int j = 0; j != 1024; j++) {
fichier.write(r);
fichier.write(g);
fichier.write(b);
}
}
} catch (IOException e2) {
System.out.println("Erreur d'écriture");
}
try {
fichier.close();
} catch (IOException e3) {
System.out.println("Erreur de fermeture");
}
} catch (IOException e) {
System.out.println("Erreur d'ouverture");
}
}
}

Binary file not shown.

View File

@@ -0,0 +1,11 @@
public class Main {
public static void main(String[] args) {
if (args.length == 1) {
String chaineCouleur = args[0].replaceAll("#", "");
Integer r = Integer.valueOf(Integer.parseInt(chaineCouleur.substring(0, 2), 16));
Integer g = Integer.valueOf(Integer.parseInt(chaineCouleur.substring(2, 4), 16));
Integer b = Integer.valueOf(Integer.parseInt(chaineCouleur.substring(4, 6), 16));
EcritureFichier ecriture = new EcritureFichier(r.byteValue(), g.byteValue(), b.byteValue());
}
}
}

File diff suppressed because one or more lines are too long