update
This commit is contained in:
12
DEV.2.1/TP/TP11-Flux-octets/1./Fenetre.java
Normal file
12
DEV.2.1/TP/TP11-Flux-octets/1./Fenetre.java
Normal 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());
|
||||
}
|
||||
}
|
19
DEV.2.1/TP/TP11-Flux-octets/1./Image.java
Normal file
19
DEV.2.1/TP/TP11-Flux-octets/1./Image.java
Normal 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);
|
||||
|
||||
}
|
||||
}
|
52
DEV.2.1/TP/TP11-Flux-octets/1./LectureFichier.java
Normal file
52
DEV.2.1/TP/TP11-Flux-octets/1./LectureFichier.java
Normal 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("couleur.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;
|
||||
}
|
||||
|
||||
}
|
6
DEV.2.1/TP/TP11-Flux-octets/1./Main.java
Normal file
6
DEV.2.1/TP/TP11-Flux-octets/1./Main.java
Normal file
@@ -0,0 +1,6 @@
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
Fenetre fenetre = new Fenetre();
|
||||
fenetre.setVisible(true);
|
||||
}
|
||||
}
|
BIN
DEV.2.1/TP/TP11-Flux-octets/1./couleur.bin
Normal file
BIN
DEV.2.1/TP/TP11-Flux-octets/1./couleur.bin
Normal file
Binary file not shown.
BIN
DEV.2.1/TP/TP11-Flux-octets/1./image.bin
Normal file
BIN
DEV.2.1/TP/TP11-Flux-octets/1./image.bin
Normal file
Binary file not shown.
99
DEV.2.1/TP/TP11-Flux-octets/2./FermetureFenetre.java
Normal file
99
DEV.2.1/TP/TP11-Flux-octets/2./FermetureFenetre.java
Normal 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;
|
||||
}
|
||||
}
|
46
DEV.2.1/TP/TP11-Flux-octets/2./Fond.java
Normal file
46
DEV.2.1/TP/TP11-Flux-octets/2./Fond.java
Normal 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);
|
||||
}
|
||||
}
|
BIN
DEV.2.1/TP/TP11-Flux-octets/2./windowlocation.bin
Normal file
BIN
DEV.2.1/TP/TP11-Flux-octets/2./windowlocation.bin
Normal file
Binary file not shown.
BIN
DEV.2.1/TP/TP11-Flux-octets/3./EcritureFichier.class
Normal file
BIN
DEV.2.1/TP/TP11-Flux-octets/3./EcritureFichier.class
Normal file
Binary file not shown.
108
DEV.2.1/TP/TP11-Flux-octets/3./EcritureFichier.java
Normal file
108
DEV.2.1/TP/TP11-Flux-octets/3./EcritureFichier.java
Normal file
@@ -0,0 +1,108 @@
|
||||
import java.awt.*;
|
||||
import java.io.*;
|
||||
|
||||
public class EcritureFichier {
|
||||
|
||||
private int r;
|
||||
private int g;
|
||||
private int b;
|
||||
|
||||
private int r2;
|
||||
private int g2;
|
||||
private int b2;
|
||||
|
||||
public EcritureFichier(int r, int g, int b) {
|
||||
this.r = r;
|
||||
this.g = g;
|
||||
this.b = b;
|
||||
|
||||
try {
|
||||
FileOutputStream fichier = new FileOutputStream("couleur.bin");
|
||||
System.out.println(r + " " + g + " " + b);
|
||||
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(int r, int g, int b, int r2, int g2, int 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");
|
||||
int choixR = r;
|
||||
int choixG = g;
|
||||
int choixB = b;
|
||||
|
||||
try {
|
||||
for (int l = 0; l != 8; l++) {
|
||||
for (int k = 0; k != 8; k++) {
|
||||
for (int i = 0; i != 768/8; i++) {
|
||||
for (int j = 0; j != 1024/8; j++) {
|
||||
fichier.write(choixR);
|
||||
fichier.write(choixG);
|
||||
fichier.write(choixB);
|
||||
}
|
||||
if (choixR == r) {
|
||||
choixR = r2;
|
||||
choixG = g2;
|
||||
choixB = b2;
|
||||
}
|
||||
else {
|
||||
choixR = r;
|
||||
choixG = g;
|
||||
choixB = b;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (choixR == r) {
|
||||
choixR = r2;
|
||||
choixG = g2;
|
||||
choixB = b2;
|
||||
}
|
||||
else {
|
||||
choixR = r;
|
||||
choixG = g;
|
||||
choixB = 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");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
BIN
DEV.2.1/TP/TP11-Flux-octets/3./Main.class
Normal file
BIN
DEV.2.1/TP/TP11-Flux-octets/3./Main.class
Normal file
Binary file not shown.
21
DEV.2.1/TP/TP11-Flux-octets/3./Main.java
Normal file
21
DEV.2.1/TP/TP11-Flux-octets/3./Main.java
Normal file
@@ -0,0 +1,21 @@
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
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));
|
||||
|
||||
if (args.length == 1) {
|
||||
EcritureFichier ecriture = new EcritureFichier(r, g, b);
|
||||
}
|
||||
|
||||
else if (args.length == 2) {
|
||||
String chaineCouleur2 = args[1].replaceAll("#", "");
|
||||
Integer r2 = Integer.valueOf(Integer.parseInt(chaineCouleur2.substring(0, 2), 16));
|
||||
Integer g2 = Integer.valueOf(Integer.parseInt(chaineCouleur2.substring(2, 4), 16));
|
||||
Integer b2 = Integer.valueOf(Integer.parseInt(chaineCouleur2.substring(4, 6), 16));
|
||||
System.out.println(r + "," + g + "," + b + " | " + r2 + "," + g2 + "," + b2);
|
||||
EcritureFichier ecriture2 = new EcritureFichier(r, g, b, r2, g2, b2);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user