Files
java-games/Paint/src/PaintMain.java
2020-06-12 23:49:11 +02:00

101 lines
2.9 KiB
Java

import basis.*;
import javax.swing.*;
public class PaintMain {
private Canvas c;
private Brush b;
private Picture p;
private ColorPicker color;
private Output o;
private Maus m;
private Tastatur t;
private String text;
private int number;
public PaintMain() {
c = new Canvas(Hilfe.monitorBreite(), Hilfe.monitorHoehe(), "Paint");
b = new Brush();
b.setBreite(4);
color = new ColorPicker();
o = new Output(c.wigth(), b.getBreite(), b.getColor());
m = new Maus();
t = new Tastatur();
text = null;
}
public void run() {
while (!t.istGedrueckt(Zeichen.ESC)) {
Hilfe.kurzePause();
b.setzePosition(m.hPosition(), m.vPosition());
if (m.istGedrueckt()) {
b.draw();
} else {
b.dontDraw();
}
if (t.istGedrueckt(Zeichen.PFEILOBEN) && b.getBreite() < 15) {
b.setBreite(b.getBreite() + 1);
Hilfe.pause(200);
System.out.println("Breite: " + b.getBreite());
o.updateBreite(b.getBreite());
}
if (t.istGedrueckt(Zeichen.PFEILUNTEN) && b.getBreite() > 1) {
b.setBreite(b.getBreite() - 1);
Hilfe.pause(200);
System.out.println("Breite: " + b.getBreite());
o.updateBreite(b.getBreite());
}
if (t.istGedrueckt('f')) {
try {
int[] rgb = color.choseColor();
b.color(rgb[0], rgb[1], rgb[2]);
o.updateFarbe(b.getColor());
} catch (Exception e) {
System.err.println("Failed to pass values");
}
}
if (t.istGedrueckt('s')) {
c.savePicture();
}
if (t.istGedrueckt('b')) {
int[] rgb = color.choseColor();
c.setBackColor(rgb[0], rgb[1], rgb[2]);
o.readable(c.getColor());
}
if (t.istGedrueckt('p')) {
p = new Picture();
p.ladeBild();
}
if (t.istGedrueckt('t')) {
b.write(text = JOptionPane.showInputDialog(null, "Type in the text you want to print on the screen") ,number = Integer.parseInt(JOptionPane.showInputDialog(null,"How big shall the text be?", 30)));
Hilfe.warte(500);
}
}
int n = JOptionPane.showConfirmDialog(null, "Möchten Sie das Projekt vor dem beenden speichern?", "Speichern?", 1, JOptionPane.WARNING_MESSAGE);
if (n == 0) {
c.savePicture();
System.exit(0);
} else if (n == 2) {
run();
} else {
System.exit(0);
}
}
public static void main(String[] args) {
PaintMain m;
m = new PaintMain();
m.run();
}
}