Das Zeichenprogramm EMMA3.01

Werbung
Das Zeichenprogramm
EMMA3.01
03 - Paint
Aufgabenstellung
!Entwicklung
eines ausschließlich in JAVA programmierten
Graphikprogrammes.
!Vergleichsprodukte: Photoshop, MS Paint, …
03 - Paint
2
Bestandteile
!GUI
– Graphical User Interface
•Dient der Kommunikation zwischen Nutzer und Programm
•Stellt die Werkzeuge zur Erzeugung und Bearbeitung der Graphiken
zur Verfügung
•Vermittelt die Kommunikation zwischen Programm und Rechner
•Online-Hilfe (Tooltips)
•Updateservice
•Konfigurationen speichern und lesen
•Anpassung an Umgebung
03 - Paint
3
!Graphische
Objekte
•Speichern die Informationen über die zu manipulierenden
Graphikobjekte
•Einfache graphische Objekte (Punkt, Linie, Kreis, Texte u.s.w)
•Zusammengesetzte graphische Objekte (Ebenen, Gruppen)
•Einzelne Bilder bestehend aus mehreren zusammengesetzten
Objekten
•Bildsequenzen bestehend aus mehreren Bildern
•Präsentationen aus Animationen von Bildsequenzen
•Metainformationen
•Besitzen das Wissen über die eigene graphische Darstellung
03 - Paint
4
!Werkzeuge
•Vermitteln die Möglichkeit graphische Objekte
•zu erzeugen,
•zu manipulieren,
•zu modifizieren und
•zu löschen.
•Pinsel, Stifte, Sprayflaschen, Radiergummis u.s.w.
•Auswahlwerkzeuge
•Farbdefinitionen
•Cut and Paste
•Hilfslinien
•Transformationen (Drehen, Verschieben, Vergrößern, Spiegeln u.s.w.)
•Filtern von Bildern (Weichzeichner, Scharfzeichner, Farbfilter u.s.w.)
•Einfügen anderer Graphiken im eigenen Format oder in Fremdformaten
03 - Paint
5
!Zusätzliche
Funktionen
•Speichern und Lesen im internen Format auf Datenträgern
•Export und Import in Fremdformaten (GIF, JPEG, MPEG u.s.w.)
•Drucken
•Scannerimport
•Programmgenerierung
•Erweiterbarkeit, Hinzufügen von
•graphische Objekten
•Werkzeugen
•Formaten
•Funktionen
03 - Paint
6
GUI
!Wie
soll das Programm verwendet werden?
•Als eigenständige Applikation (JFrame)
•Als Applet im Browser (JApplet)
•Als eingebettete Applikation (JInternalFrame)
!Gemeinsamkeit der drei Klassen:
•Es existiert ein ContentPane, die mit der Methode
setContentPane(Container) überschrieben werden kann.
•Von Container abgeleitet ist JComponent die oberste SWING-Klasse.
"EMMA301 wird als Klasse von JComponent abgeleitet
03 - Paint
7
import javax.swing.*;
Import java.awt.*;
public class EMMA301 extends JComponent
{
public EMMA301()
{
setBackground(Color.green);
}
}
03 - Paint
8
EMMA301 als Applikation
import javax.swing.*;
import java.awt.*;
public class ApplicationEMMA
{
public static void main(String[] args)
{
JFrame fr = new JFrame(
"Test von EMMA3.01 als Applikation");
fr.setContentPane(new EMMA301());
fr.setSize(new Dimension(800,600));
fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fr.setVisible(true);
}
}
03 - Paint
9
EMMA301 als Applet
import javax.swing.*;
public class AppletEMMA extends JApplet
{
public void init()
{
setContentPane(new EMMA301());
}
}
03 - Paint
10
EMMA301 als interne Applikation
import javax.swing.*;
import java.awt.*;
public class InternalEMMA {
public static void main(String[] args) {
JFrame fr = new JFrame("Test von EMMA3.01 als interne Applikation");
JDesktopPane desk = new JDesktopPane();
fr.setContentPane(desk);
JInternalFrame ifr = new JInternalFrame();
desk.add(ifr);
ifr.setContentPane(new EMMA301());
ifr.setSize(new Dimension(400,400));
ifr.setVisible(true);
ifr.setClosable(true);
ifr.setIconifiable(true);
ifr.setMaximizable(true);
ifr.setResizable(true);
fr.setSize(new Dimension(800,600));
fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fr.setVisible(true);
}
}
03 - Paint
11
Herunterladen