Die folgende Übersicht hat keinen Anspruch auf Vollständigkeit, bietet aber einen Einstieg in die Oberflächenprogrammierung mit Objekten, die durch java.awt.* zur Verfügung gestellt werden.
Objekte
Panel | teilt die Appletoberfläche in verschiedene Bereiche (Ordnungshilfe) | Panel bereich = new Panel(); |
Button | ermöglicht Interaktion | Button knopf = new Button("Drück mich"); |
Label | ermöglicht die Textausgabe | Label text = new Label("Nachricht"); |
Textfield | ermöglicht die Texteingabe | Textfield eingabe = new Textfield("Vorgabetext", laenge); |
Damit die Objekte auf der Oberfläche angeordnet werden, muss der jeweilige Bereich, in dem die Objekte dargestellt werden, ein bestimmtes Layout haben. Wird nichts angegeben, weist Java dem entsprechenden Bereich ein FlowLayout zu - alles wird der Reihe nach angeordnet.
Etwas mehr Einfluss auf die Anordnung hat man mit dem BorderLayout oder dem GridLayout.
BorderLayout | new BorderLayout() |
GridLayout | new GridLayout(anzahlZeilen, anzahlSpalten, abstandZeilen, abstandSpalten) |
Beim BorderLayout gibt man an, in welchem Abschnitt des Bereichs ein Objekt platziert werden soll - oben (North), unten (South), links (West), rechts (East) oder in der Mitte (Center).
|
North |
West | Center | East |
South |
|
Beim GridLayout wird das vorgegebene Raster automatisch zeilenweise gefüllt.
Methoden
add | add(bereich); | Das Objekt bereich wird auf dem Applethintergrund eingefügt. |
| bereich.add(element); | Das Objekt element soll im Abschnitt bereich dargestellt werden. |
| bereich.add("South", element); | Das Objekt element soll am unteren Ende des Abschnitts bereich dargestellt werden.1) |
| element.addActionListener(this); | Das Objekt element wird mit Methoden in derselben Klasse verknüpft, die auf Aktionen, z.B. das Drücken eines Knopfes, reagieren. |
setLayout | bereich.setLayout(new GridLayout(7,7,1,1)); | Das Objekt bereich wird in 7 Zeilen und 7 Spalten mit jeweils 1 px Abstand unterteilt. |
| bereich.setLayout(new BorderLayout()); |
setBackground( farbe ) | setzt die Hintergrundfarbe eines Objekts |
setForeground( farbe ) | setzt die Vordergrundfarbe (= Schriftfarbe) eines Objekts |
setText("text") | ermöglicht die Veränderung des Textes eines Objekts vom Typ Label |
getText() | liefert den aktuellen Text eines Objekts vom Typ Label |
Mit text.setText(text.getText() + "neuer Text");
kann mal also an vorhandenen Text neuen Text anfügen.
Pakete
Canvas | stellt eine Zeichenfläche zur Verfügung |
Graphics | stellt Zeichenelemente zur Verfügung (Figuren, Zeichenstift) |
event | stellt Methoden zur Verfügung, mit denen Tastatur- und Mausbefehle abgefragt werden können |
Grafikbefehle
Linie
stift.drawLine(int x1, int y1, int x2, int y2)
Startpunkt : x1,y1 Endpunkt : x2,y2
Rechteck
stift.drawRect(int x, int y, int width, int height)
stift.fillRect(int x, int y, int width, int height)
Oval - Kreis
stift.drawOval(int x, int y, int width, int height)
stift.fillOval(int x, int y, int width, int height)
Oval - Kreis mit Winkel
stift.drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
stift.fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
Farben