DVG2 - 091 A bstract W indow T oolkit. DVG2 - 092 4 Als standardisierte portable Grafikschnittstelle existiert in JAVA das Package AWT - Abstract Window.

Slides:



Advertisements
Ähnliche Präsentationen
Blue J.
Advertisements

DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Objektorientierte Programmierung Definition von Klassen
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung versteht Java Programmcode versteht Java Programmcode Für die Entwicklung eigener Software.
Java: Reversi Spielbrett
Java: Objektorientierte Programmierung
Java2D Richard Göbel.
Java: Programmierung grafischer Oberflächen
Java: Grundlagen der Objektorientierung
Ein Beispiel in Java.
Assoziationen (Beziehungen). Zwischen Objekten kann es eine Beziehung geben.
Sommersemester 2003 Lars Bernard
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 6 Model-View-Controler als Grundlage für Nutzerschnittstellen Sommersemester 2003 Lars Bernard.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 8 Sitzung 8: Zeichnen in Java.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 7 User Interfaces in Java Sommersemester 2003 Lars Bernard.
Einführung in die OOP in Java
AWT – Detailbetrachtung Java 3D – Seminar im Wintersemester 2002/2003 Christian Schneider.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. D. Dörschlag Einführung in die Programmierung mit Java.
Java-Kurs Grafik Julian Drerup.
Programmieren mit JAVA Teil V. Grafikausgabe mit JAVA, das AWT Java wurde von Anfang an mit dem Anspruch entwickelt, ein vielseitiges, aber einfach zu.
Programmieren mit JAVA
DVG1 - Grafikprogrammierung1 Grafikprogrammierung.
Packages Vortrag : Cornelia Hardt 23. November 1999.
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse.
Abstrakte Klassen DVG
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
Abstrakte Klassen, Interface
DVG Klassen und Objekte
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
03 - Paint Das Zeichenprogramm EMMA Paint2 Aufgabenstellung Entwicklung eines ausschließlich in JAVA programmierten Graphikprogrammes. Vergleichsprodukte:
10-Graphics2D Graphics2D. 10-Graphics2D2 Eigenschaften von Graphics2D Trennung zwischen Userkoordinaten und Gerätekoordinaten Beliebige Transformation.
DVG Graphik in Swing Graphik in Swing. DVG Graphik in Swing 2 Zeichnen von Objekten in Swing Die Klasse JComponent enthält die Methode.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Step by step zum JFrame 1 Zum JFrame Step by step by step by step by step by step by step by step by.
© 2004 Pohlig - Taulien Swing Ereignissteuerung. © 2004 Pohlig - Taulien GK Informatik mit Java 2 Auf Button-Klick reagieren.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Programmierung im Netz und Internet: Einführung in die Programmiersprache Java Teil I 1 Klassen Objekte von.
FH-Hof Java2D - Grundlagen Richard Göbel. FH-Hof Java2D - Funktionen Java2D unterstützt: das Zeichnen von Grafiken die Darstellung von Texten die Darstellung.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 7 Sitzung 7: User Interfaces in Java.
AWT und JFC Abstract Windowing Toolkit
Applets Java für’s Web.
Java: Programmierung grafischer Oberflächen
Klassendefinitionen in Java
CuP - Java Elfte Vorlesung Montag, 11. November 2002.
EPROG Tutorium Einheit 4 Klassen und Objekte. Wiederholung Schleifen do... while while for break/continue Strings String char Methoden für Strings Arrays.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
1.3 Klassen und Beziehungen
Oliver Spritzendorfer Thomas Fekete
Programmierpraktikum Java SS 2005
Learning By Doing Konstruktoren Gleicher Name wie die Klasse Zur Initialisierung des Objekts, insbesondere mit Parametern Wir immer bei der Objekterzeugung.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Java-Kurs Übung Benutzeroberflächen und Graphik Frames (Fenster)
Institut für Kartographie und Geoinformation Prof. Dr. L. Plümer, Dipl.-Ing. D. Dörschlag, Dr. G. Gröger Einführung in die Programmierung mit Java 13.
Einführung in die OOP in Java
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Objektorientierte Programmierung (OOP)
, Dr. Wolfram Amme, Softwareentwicklung in Java, FSU Jena, SS Erstellung von Benutzerschnittstellen in der Programmiersprache Java.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Venusspiegel und Marsschild
Java-Kurs Übung Grafik in Java - das Abstract Windowing Toolkit
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Ein schematischer Kirschbaum in Java
Die Struktur einer Java-Klasse
Programmierung und Vererbung in Java
Vererbung in Java Von Jan und Eddi.
Grundkurs Informatik 11-13
 Präsentation transkript:

DVG A bstract W indow T oolkit

DVG Als standardisierte portable Grafikschnittstelle existiert in JAVA das Package AWT - Abstract Window Toolkit. 4 AWT enthält Klassen zur Programmierung allgemeiner Grafikelemente, z.B.: –Fenster –Menüs, Buttons –Druckeranschluß –Drag and Drop –Mausanschluß –Grafikimport, -export –Farben –Fonts –Geometrieobjekte

DVG Component-Klassen Component ButtonCanvasCheckboxChoice Container LabelListScrollbar TextComponent PanelScrollPaneWindowTextAreaTextField AppletFrameDialog FileDialog

DVG Die Klasse Component Eine Component ist ein Objekt, das eine graphische Darstellung besitzt, das auf dem Bildschirm angezeigt werden kann und das mit dem Nutzer interagieren kann. Z.B.: –Buttons –Checkboxen –Scrollbars u.s.w. Objekte der Klasse Component werden kaum direkt verwendet, sondern nur als Instanziierungen abgeleiteter Klassen. 4 Die Methoden und Attribute werden an alle abgeleiteten Klassen vererbt.

DVG Wichtige Methoden von Component public Color getBackground() bestimmt die Hintergrundfarbe public void setBackground (Color c) setzt die Hintergrundfarbe public Color getForeground() bestimmt die Vordergrundfarbe public void setForeground (Color c) setzt die Vordergrundfarbe public Font getFont() bestimmt den aktuellen Font public void setFont (Font f) setzt den aktuellen Font

DVG Die Klasse Color 4 Beschreibt Farben in verschiedenen Farbmodellen 4 Konstruktoren –Color (float r, float g, float b) 0.0 <= r, g, b <= 1.0 –Color (int r, int g, int b) 0 <= r, g, b <= 255 Attribute static Color black, blue, cyan, darkGray, gray, green, lightGray, magenta, orange, pink, red,white, yellow 4 Methoden –int getR(), int getG(), int getB() bestimmt die Farbanteile –Color brighter(), Color darker() erzeugt eine etwas hellere bzw. dunklere Farbe

DVG Die Klasse Font 4 Beschreibt Schriftarten und -eigenschaften Konstruktor Font (String name, int style, int size) –name : "Dialog", "DialogInput", "Monospaced", "Serif", "SansSerif", "Symbol" –style : PLAIN, BOLD, ITALIC, BOLD|ITALIC –size : Schriftgröße

DVG Die Klasse Container 4 Beschreibt AWT-Objekte, die andere Objekte enthalten können. Wird wie Component selten direkt benutzt. 4 Definiert Methoden zum Verwalten von in dem Container enthaltenen anderen AWT-Objekten. –public Component add (Component comp) –public void remove(Component comp) –public int getComponentCount() –public Component [] getComponents() –public Component getComponentAt (int x, int y) Methoden zum Verwalten des Layouts –public void setLayout (LayoutManager mgr) –public LayoutManager getLayout() –public Insets getInsets()

DVG Methoden zum Zeichnen des Inhaltes –public void paint (Graphics g) –public void update (Graphics g)

DVG Interface LayoutManager 4 Beschreibt das Layout eines Containers 4 Implementierungen sind –GridLayout –FlowLayout –CardLayout –GridbagLayout –BorderLayout

DVG Die Klasse Insets 4 Beschreibt die Breiten der Ränder eines Containers. Konstruktor Insets(int top, int left, int bottom, int right) Attribute public int top public int left public int bottom public int right

DVG Methoden der Klasse Graphics 4 public void drawString(String str, int ix, int iy) –zeichnet den Text str an die Position (ix,iy) 4 public void drawLine(int ix1, int iy1, int ix2, int iy2) –zeichnet eine Linie von (ix1,iy1) nach (ix2,iy2) 4 public void drawRect(int ix, int iy, int ib, int ih) –zeichnet ein Rechteck mit der linken oberen Ecke (ix,iy) und der Breite ib und der Höhe ih 4 public void fillRect(int ix, int iy, int ib, int ih) –zeichnet ein ausgefülltes Rechteck

DVG public void drawOval(int ix, int iy, int ib, int ih) –zeichnet ein Oval innerhalb des beschriebenen Rechtecks 4 public void fillOval(int ix, int iy, int ib, int ih) –zeichnet ein ausgefülltes Oval 4 public void drawArc(int ix, int iy, int ib, int ih, int start, int arc) –zeichnet einen Auschnitt eines Ovals innerhalb des beschriebenen Rechtecks mit dem Startwinkel start und dem Öffnungswinkel arc 4 public void fillArc(int ix, int iy, int ib, int ih, int start, int arc) –zeichnet einen ausgefüllten Auschnitt eines Ovals

DVG public void drawPolygon(int[] ix, int[] iy, int n) –zeichnet ein geschlossenes Polygon mit den Ecken (ix[i],iy[i]) für i=0...n-1 4 public void fillPolygon(int[] ix, int[] iy, int n) –zeichnet ein geschlossenes ausgefülltes Polygon 4 public void drawPolyline(int[] ix, int[] iy, int n) –zeichnet einen Polygonzug mit den Ecken (ix[i],iy[i]) für i=0...n-1

DVG Die Klasse Window Window -Objekte Windows auf der obersten Hirarchie-Stufe. Windows enthalten keinen Rand und kein Menü. Windows werden üblicherweise nicht selbständig erzeugt. 4 Methoden –public void dispose() löschen des Windows und aller Subkomponenten –public void pack() verkleinert das Window derartig, daß alle Komponenten hineinpassen –public void show() macht das Window sichtbar –public void toBack() legt das Window nach hinten –public void toFront() legt das Window nach vorn

DVG Die Klasse Frame Frame ist ein komplettes Fenster mit Titel und Rand. 4 Konstruktoren –Frame() erzeugt Frame ohne Titel –Frame (String title) erzeugt Frame mit Titel 4 Methoden –public void setMenuBar(MenuBar mb) definiert einen Menübalken am Kopf des Frames –public void setResizable(boolean resizable) bestimmt, ob das Frame in der Größe verändert werden kann

DVG Die Klasse Label 4 Erzeugt ein Label mit oder ohne Text. 4 Konstruktoren –Label() erzeugt Label ohne Text –Label(String text) erzeugt Label mit Text –Label(String text, int alignment) erzeugt Label mit Text und legt die Ausrichtung des Textes fest. alignment = Label.LEFT, Label.RIGHT, Label.CENTER 4 Methoden –public String getText() –public void setText(String text)

DVG Die Klasse Button 4 Erzeugt eine Schaltfläche. Organisiert die Reaktion auf Betätigung der Schaltfläche. 4 Konstruktoren –Button() erzeugt Schaltfläche ohne Beschriftung –Button(String label) erzeugt Schaltfläche mit Beschriftung 4 Methoden –public String getLabel() –public void setLabel(String label) –public String getActionCommand() –public void setActionCommand (String command) lesen bzw. setzen das Kommando, das beim Betätigen der Schaltfläche an den ActionListener gesendet wird

DVG public void addActionListener(ActionListener l) Hinzufügen eines ActionListeners public void removeActionListener(ActionListener l) Löschen eines ActionListeners

DVG Beispiel import java.awt.*; public class t { public static void main (String [] args) { tFrame f = new tFrame("AWT mit Buttons"); f.setBounds(200,100,400,300); f.setBackground(Color.yellow); f.show(); } }

DVG import java.awt.*; public class tFrame extends Frame { tFrame(String title) { super(title); setLayout(new GridLayout(2,1)); Button b1 = new Button(); b1.setBackground(Color.cyan); add (b1); Button b2 = new Button("Button"); b2.setBackground(Color.blue); add (b2); } }

DVG Das Interface ActionListener Implementierungen dieses Interfaces, dienen der Behandlung von ActionEvents. Diese werden ausgelöst, wenn: –ein MenuItem ausgewählt wird, –ein Button betätigt wird –in einem TextField Return gedrückt wird –ein Feld in einer List ausgewählt wird 4 Es muß eine Methode implementiert werden: –public void actionPerformed(ActionEvent e) diese Methode wird aufgerufen, wenn oben genannte Ereignisse eintreten

DVG Die Klasse ActionEvent 4 Wird ausgelöst von –MenuItem –Button –TextField –List 4 Methoden –public String paramString() liefert eine Zeichenkette, die die wesentlichen Informationen über das eingetretene Ereignis enthält –public String getActionCommand() liefert die Zeichenkette, die standardmäßig oder mit setActionCommand(String command) als Kommandozeichenkette gesetzt wurde.

DVG –public int getModifiers() gibt die Tastencodes der gedrückten Modifizierer aus : SHIFT_MASK CTRL_MASK META_MASK ALT_MASK

DVG Beispiel import java.awt.event.*; public class tAL implements ActionListener { public void actionPerformed(ActionEvent e) { System.out.println( "e.getActionCommand() = "+e.getActionCommand()); System.out.println( "e.getModifiers() = "+e.getModifiers()); System.out.println( "e.paramString() = "+e.paramString()); } }

DVG import java.awt.*; import java.awt.event.*; public class tFrame extends Frame { tFrame(String title) {... ActionListener al = new tAL(); b1.setActionCommand( "unbeschriftete Schaltflaeche"); b1.addActionListener(al); b2.addActionListener(al); } }

DVG Alles zusammen import java.awt.*; import java.awt.event.*; public class tAlles extends Frame implements ActionListener { public static void main (String [] args) { Frame f = new tAlles("AWT mit Buttons"); f.setBounds(200,100,400,300); f.setBackground(Color.yellow); f.show(); }

DVG Alles zusammen tAlles(String title) { super(title); setLayout(new GridLayout(2,1)); Button b1 = new Button(); b1.setBackground(Color.cyan); add (b1); Button b2 = new Button("Button"); b2.setBackground(Color.blue); add (b2); b1.setActionCommand( "unbeschriftete Schaltflaeche"); b1.addActionListener(this); b2.addActionListener(this); }

DVG Alles zusammen public void actionPerformed(ActionEvent e) { System.out.println( "e.getActionCommand() = "+e.getActionCommand()); System.out.println( "e.getModifiers() = "+e.getModifiers()); System.out.println( "e.paramString() = "+e.paramString()); } }

DVG Die Klasse Canvas Die Klasse Canvas beschreibt leere Bereiche des Fensters, in denen graphische Objekte (Linien, Rechtecke, Ellipsen u.s.w.) plaziert werden können. Konstruktor Canvas() erzeugt ein neues Canvas Methoden public void paint(Graphics g) zeichnet die Graphiken des Canvas neu

DVG Beispiel public class tFrame extends Frame { tFrame(String title) { super(title); setLayout(new GridLayout(2,1)); Canvas c = new tCanvas(); c.setBackground(Color.cyan); add (c); Button b = new Button("Button"); b.setBackground(Color.blue); add (b); } }

DVG import java.awt.*; public class tCanvas extends Canvas { public void paint(Graphics g) { g.drawLine(10,70,90,20); g.drawString("Das ist ein Text",100,50); g.drawString("g.drawLine(10,70,90,20)",300,50); g.drawString( "g.drawString(\"Das ist ein Text\",100,50)",300,70);... } }

DVG Die Klasse Checkbox 4 Erzeugt Auswahlknöpfe 4 Konstruktoren –Checkbox() Knopf ohne Beschriftung –Checkbox(String label) Knopf mit Beschriftung –Checkbox(String label, boolean state) Knopf mit Beschriftung mit angegebenen Status: state==true heißt Knopf ist gedrückt –Checkbox(String label, boolean state, CheckboxGroup group) Knopf mit Beschriftung mit angegebenen Status, sowie Einsortierung in eine Checkbox-Gruppe

DVG Methoden –public String getLabel() –public void setLabel(String label) –public boolean getState() –public void setState (boolean state) –public CheckboxGroup getCheckboxGroup() –public void setCheckboxGroup (CheckboxGroup group) –public void addItemListener(ItemListener l) fügt einen ItemListener hinzu –public void removeItemListener(ItemListener l) löscht einen ItemListener

DVG Die Klasse CheckboxGroup 4 Dient der Gruppierung von Checkboxen zu Radiobuttons. Konstruktor CheckboxGroup() 4 Methoden –public Checkbox getSelectedCheckbox() –public void setSelectedCheckbox(Checkbox box)

DVG Beispiel tFrame(String title) { super(title); setLayout(new GridLayout(2,3)); Checkbox cb11 = new Checkbox("cb11",true); add (cb11); Checkbox cb12 = new Checkbox("cb12"); add (cb12); Checkbox cb13 = new Checkbox("cb13",true); add (cb13); CheckboxGroup cbg = new CheckboxGroup(); Checkbox cb21 = new Checkbox("cb21",true,cbg); add (cb21); Checkbox cb22 = new Checkbox("cb22",false,cbg); add (cb22); Checkbox cb23 = new Checkbox("cb23",false,cbg); add (cb23); }

DVG Das Interface ItemListener 4 Implementierungen von ItemListener dienen der Behandlung von ItemEvents. Diese werden erzeugt von: –Checkbox –Choice –CheckboxMenuItem –List –ItemSelectable Es muß eine Methode implementiert werden: public void itemStateChanged(ItemEvent e)

DVG Die Klasse ItemEvent 4 Methoden –public Object getItem() gibt das Object aus, das dieses Ereignis ausgelöst hat –public int getStateChange() gibt den neuen Status des Objectes aus: SELECTED oder DESELECTED –public String paramString() liefert eine Zeichenkette, die die wesentlichen Informationen über das eingetretene Ereignis enthält

DVG Beispiel tFrame(String title) { super(title); setLayout(new GridLayout(2,3));... ItemListener il = new tIL(); cb11.addItemListener(il); cb12.addItemListener(il); cb13.addItemListener(il); cb21.addItemListener(il); cb22.addItemListener(il); cb23.addItemListener(il); }

DVG MenuComponent-Klassen MenuComponent MenuItemMenuBar CheckboxMenuItemMenu PopupMenu