TP13
This commit is contained in:
parent
619b3ac7b6
commit
ba4ef3fe73
BIN
APL2.1/TP13/Coloriage/Coloriage.class
Normal file
BIN
APL2.1/TP13/Coloriage/Coloriage.class
Normal file
Binary file not shown.
33
APL2.1/TP13/Coloriage/Coloriage.java
Normal file
33
APL2.1/TP13/Coloriage/Coloriage.java
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
import java.awt.Color;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
public class Coloriage {
|
||||||
|
|
||||||
|
private static final int x = 500;
|
||||||
|
private static final int y = 500;
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Color c1 = Color.decode(args[0]);
|
||||||
|
Color c2 = Color.decode(args[1]);
|
||||||
|
|
||||||
|
try (FileOutputStream f = new FileOutputStream("funny.bin")) {
|
||||||
|
try {
|
||||||
|
for (int i = 0; i < x*y; i++) {
|
||||||
|
f.write((byte)c1.getRed());
|
||||||
|
f.write((byte)c1.getGreen());
|
||||||
|
f.write((byte)c1.getBlue());
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
f.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
BIN
APL2.1/TP13/Image/ImagePanel.class
Normal file
BIN
APL2.1/TP13/Image/ImagePanel.class
Normal file
Binary file not shown.
23
APL2.1/TP13/Image/ImagePanel.java
Normal file
23
APL2.1/TP13/Image/ImagePanel.java
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import javax.swing.JPanel;
|
||||||
|
import java.awt.Graphics;
|
||||||
|
import java.awt.Image;
|
||||||
|
|
||||||
|
public class ImagePanel extends JPanel {
|
||||||
|
private Image img;
|
||||||
|
|
||||||
|
public ImagePanel(Image img) {
|
||||||
|
super();
|
||||||
|
this.img = img;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void paintComponent(Graphics g) {
|
||||||
|
Graphics newG = g.create();
|
||||||
|
if (this.isOpaque()) {
|
||||||
|
newG.setColor(this.getBackground());
|
||||||
|
newG.fillRect(0, 0, this.getWidth(), this.getHeight());
|
||||||
|
}
|
||||||
|
|
||||||
|
newG.drawImage(img, 0, 0, img.getWidth(this), img.getHeight(this), this);
|
||||||
|
}
|
||||||
|
}
|
BIN
APL2.1/TP13/Image/ImageTest.class
Normal file
BIN
APL2.1/TP13/Image/ImageTest.class
Normal file
Binary file not shown.
48
APL2.1/TP13/Image/ImageTest.java
Normal file
48
APL2.1/TP13/Image/ImageTest.java
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
public class ImageTest {
|
||||||
|
static int width = 100;
|
||||||
|
static int height = 100;
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
BufferedImage img = new BufferedImage(ImageTest.width, ImageTest.height, BufferedImage.TYPE_3BYTE_BGR);
|
||||||
|
|
||||||
|
try (FileInputStream f = new FileInputStream("../Coloriage/funny.bin")) {
|
||||||
|
|
||||||
|
for (int i = 0; i < width * height; i++) {
|
||||||
|
int r = f.read();
|
||||||
|
int g = f.read();
|
||||||
|
int b = f.read();
|
||||||
|
|
||||||
|
int rgb = r;
|
||||||
|
rgb <<= 8;
|
||||||
|
rgb |= g;
|
||||||
|
rgb <<= 8;
|
||||||
|
rgb |= b;
|
||||||
|
|
||||||
|
img.setRGB(i % width, i / width, rgb);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
f.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
JFrame f = new JFrame("Image");
|
||||||
|
f.setSize(width + 50, height + 50);
|
||||||
|
f.setLocation(100, 100);
|
||||||
|
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
|
f.add(new ImagePanel(img));
|
||||||
|
f.setVisible(true);
|
||||||
|
}
|
||||||
|
}
|
BIN
APL2.1/TP13/Image/funny.bin
Normal file
BIN
APL2.1/TP13/Image/funny.bin
Normal file
Binary file not shown.
BIN
APL2.1/TP13/Image/image.bin
Normal file
BIN
APL2.1/TP13/Image/image.bin
Normal file
Binary file not shown.
BIN
APL2.1/TP13/Memoire/CloseListener.class
Normal file
BIN
APL2.1/TP13/Memoire/CloseListener.class
Normal file
Binary file not shown.
75
APL2.1/TP13/Memoire/CloseListener.java
Normal file
75
APL2.1/TP13/Memoire/CloseListener.java
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
import java.awt.Point;
|
||||||
|
import java.awt.event.*;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.ObjectOutputStream;
|
||||||
|
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
|
||||||
|
public class CloseListener implements WindowListener {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void windowActivated(WindowEvent arg0) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void windowClosed(WindowEvent arg0) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void windowClosing(WindowEvent arg0) {
|
||||||
|
JFrame window = (JFrame)arg0.getSource();
|
||||||
|
|
||||||
|
try (ObjectOutputStream f = new ObjectOutputStream(new FileOutputStream("save.dat"))) {
|
||||||
|
int width = window.getWidth();
|
||||||
|
int height = window.getHeight();
|
||||||
|
Point location = window.getLocation();
|
||||||
|
|
||||||
|
try {
|
||||||
|
f.writeInt(width);
|
||||||
|
f.writeInt(height);
|
||||||
|
f.writeInt((int)location.getX());
|
||||||
|
f.writeInt((int)location.getY());
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
f.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void windowDeactivated(WindowEvent arg0) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void windowDeiconified(WindowEvent arg0) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void windowIconified(WindowEvent arg0) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void windowOpened(WindowEvent arg0) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
BIN
APL2.1/TP13/Memoire/Fond.class
Normal file
BIN
APL2.1/TP13/Memoire/Fond.class
Normal file
Binary file not shown.
58
APL2.1/TP13/Memoire/Fond.java
Normal file
58
APL2.1/TP13/Memoire/Fond.java
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
import java.awt.*;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.ObjectInputStream;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
|
||||||
|
public class Fond {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
JFrame f = new JFrame("Fond");
|
||||||
|
f.setSize(200, 200);
|
||||||
|
f.setLocation(100, 100);
|
||||||
|
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
|
f.setLayout(new GridLayout(1, 3));
|
||||||
|
|
||||||
|
JButton b1 = new JButton("Jaune");
|
||||||
|
JButton b2 = new JButton("Cyan");
|
||||||
|
JButton b3 = new JButton("Magenta");
|
||||||
|
|
||||||
|
Observer observer = new Observer();
|
||||||
|
|
||||||
|
b1.addActionListener(observer);
|
||||||
|
b2.addActionListener(observer);
|
||||||
|
b3.addActionListener(observer);
|
||||||
|
|
||||||
|
f.add(b1);
|
||||||
|
f.add(b2);
|
||||||
|
f.add(b3);
|
||||||
|
|
||||||
|
Fond.restoreLastSettings(f);
|
||||||
|
f.addWindowListener(new CloseListener());
|
||||||
|
f.setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void restoreLastSettings(JFrame f) {
|
||||||
|
try (ObjectInputStream fl = new ObjectInputStream(new FileInputStream("save.dat"))) {
|
||||||
|
try {
|
||||||
|
int x = fl.readInt();
|
||||||
|
int y = fl.readInt();
|
||||||
|
int w = fl.readInt();
|
||||||
|
int h = fl.readInt();
|
||||||
|
|
||||||
|
f.setSize(x, y);
|
||||||
|
f.setLocation(w, h);
|
||||||
|
|
||||||
|
try {
|
||||||
|
fl.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
BIN
APL2.1/TP13/Memoire/Observer.class
Normal file
BIN
APL2.1/TP13/Memoire/Observer.class
Normal file
Binary file not shown.
24
APL2.1/TP13/Memoire/Observer.java
Normal file
24
APL2.1/TP13/Memoire/Observer.java
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import java.awt.Color;
|
||||||
|
import java.awt.event.*;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
|
||||||
|
class Observer implements ActionListener {
|
||||||
|
public Observer() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void actionPerformed(ActionEvent evt) {
|
||||||
|
String name = evt.getActionCommand();
|
||||||
|
JPanel f = (JPanel)((JButton)evt.getSource()).getParent();
|
||||||
|
|
||||||
|
|
||||||
|
if (name == "Jaune") {
|
||||||
|
f.setBackground(Color.YELLOW);
|
||||||
|
} else if (name == "Cyan") {
|
||||||
|
f.setBackground(Color.CYAN);
|
||||||
|
} else if (name == "Magenta") {
|
||||||
|
f.setBackground(Color.MAGENTA);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
BIN
APL2.1/TP13/Memoire/save.dat
Normal file
BIN
APL2.1/TP13/Memoire/save.dat
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user