Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
paint - Methode von JApplet überschreiben |
Skelet eines Applets: eine Klasse, die von der abstrakten Klasse JApplet abgeleitet wird |
|
|
Graphikmethode 'drawString' zur Textausgabe verwenden |
Initialisieren der graphischen Applet-Darstellungsfläche |
|
Das erste Programm |
|
hallowelt1 - Applet
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
JButton-Ereignis |
JButton |
|
|
Ein Ereignis auslösen und dabei ein Textfeld zur Textausgabe verwenden |
JTextField |
|
Das zweite Programm |
|
hallowelt2 - Applet
|
Datentypen
|
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
Variablen und Werte |
Noch keine Steuerelemente. |
|
Gezeigt werden die Datentypen und deren Speichergröße. |
Hier jetzt alle Ganzzahlentypen |
Ausgabe über die überschriebene Paint-Methode des JApplets |
|
|
byte |
|
|
|
short |
|
|
|
int |
|
|
|
long |
|
|
|
Hier jetzt alle Dezimalzahlentypen |
|
|
|
float |
|
|
|
double |
|
|
|
Andere primitive Datentypen |
|
|
|
char |
|
|
|
boolean |
|
|
|
Und der Zeichentyp |
|
|
|
String |
|
|
|
Verknüpfung der Variablen und Werte |
|
|
|
|
datentypen - Applet
|
Operatoren
|
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
Operatoren: |
JButton
ActionListener |
|
Die vier
verschiedenen Operatortypen werden auf Knopfdruck im Textfeld
dargestellt. |
Arithmetische |
|
Vergleich |
jTextArea |
|
|
Zuweisung |
|
|
|
Sonstige |
|
|
|
|
operatoren - Applet
|
Strings
|
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
Die
Methode 'valueOf' der Klasse 'String' haben wir im Applet 'Datentypen'
schon verwendet. |
JButton
ActionListener |
'String'
ist nicht bloß ein Datentyp, sondern eine Datenklasse |
Hier wird die
Verwendung von Textfeldern und die Manipulierbarkeit von Strings
demonstriert.
|
substring
equals
length
indexOf
lastindexOf |
JTextField
Inhalte auslesen
Inhalte setzen |
Die Klasse 'String' enthält Methoden zur Stringverarbeitung |
|
|
strings - Applet
|
Bedingungen
|
|
Sprachstrukturen |
Steuerelemente |
|
Besonderes |
Idee |
switch
- case - Abfrage |
JScrollPane |
|
|
Je
nach Listboxauswahl werden die Farbeigenschaften des Textfeldes
verändert. |
Verwendung von Arrays, zum Füllen der Listboxen |
JLListbox
ListSelectionListener |
|
Die
Farbeigenschaften werden manipuliert |
|
|
JTextField |
|
|
|
|
JLabel |
|
|
|
|
bedingungen_switch - Applet
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
if
- else |
JCheckBox |
|
Je nach
Auswahlzustand der Checkboxen wird die Formatierung des Text
im Textfeld verändert |
|
JButton |
|
|
jTextField |
|
|
|
bedingungen_if - Applet
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
if
- else if - else |
ButtonGroup |
|
Die
Auswaqhlsituation der Radiobuttons wird verwendet um eines der
Canvaselemente rot zu färben |
|
JRadioButton |
|
|
JButton |
|
|
|
Canvas |
|
|
|
bedingungen_elseif - Applet
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
Funktion,
Parameter, Return-Wert
|
JScrollPane |
|
Wir verwenden
hier wieder eine Listbox, deren Datenänderungsereignis beim
Mausklick zweimal ausgelöst wird. Daher deklarieren wir eine
globale Variable, in der wir neue Werte nach Auswahländerung
speichern. Dann schauen wir bei jedem Ereignis nach, ob wirklich ein
neuer Wert gemeldet wird. Beim Änderungsereignis der Listbox
wird eine Funktion aufgerufen, die an Stelle des gewählten
Wortes eine Zahl zurück gibt Diese Zahl wird dann nach
Umwandlung in einen String an den Inhalt der Textbox angehängt. |
if
- else if |
JList |
|
String.valueOf |
ListSelectionListener |
|
|
setSelectedIndex |
|
|
JTextField |
|
|
|
|
|
|
|
|
|
|
|
funktionen2 - Applet
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
Funktion |
JButton |
|
Ein kleiner
Rechner, bei dem je zwei Werte mit dem Rechernzeichen
verknüpft werden, das vom JButton geliefert
wird, |
Übergabe
von Parametern |
JTextField |
|
Rückgabe
eines Wertes |
JLabel |
|
if
- else if - Abfrage |
|
|
|
String-Methode
'replace' |
|
|
|
|
funktionen1 - Applet
|
Funktionen
|
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
Array |
JButton |
|
Standarddeklaration
und -adressierung ein- und zweidimensionaler Arrays
Vereinfachte Deklaration ein- und zweidimensionaler
Arrays |
Zwei Deklarationsformen |
JScrollPane |
|
|
JTextArea |
|
|
JLabel |
|
|
|
array1 - Applet
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
for
- Schleife |
Graphikausgabe von Text über paint |
|
Darstellung einer Zeichensatztabelle |
cast
integer nach char |
|
|
|
|
schleifen2 - Applet
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
for
- Schleife |
JButton |
|
Mit der
for-Schleife durchlaufen wir jedes Zeichen ein vorgegebenen Strings.
Wir manipulieren mit String-Methoden das eingelesene Zeichen.
Wir hängen das manipulierte Zeichen an eine anfangs leere
Zeichenkette an und zeigen das Ergebnis in einer
Textbox. |
Array |
JTextField |
|
|
JScrollPane |
|
|
JTextArea |
|
|
|
|
|
|
|
|
schleifen1 - Applet
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
while
- Schleife |
JButton |
Die while - Schleife
wird zwei Mal verwendet. Zum einen
wird in die erste Zeile und in die erste Spalte eine Skalierung
geschrieben. Zum anderen werden die übrigen Zellen mit dem
Einmaleins gefüllt. |
Darstellung
des großen Einmaleins |
|
JScrollPane |
|
|
JTable |
|
|
|
|
|
|
Bei der while -
Schleife wird der Schleifenzähler außerhalb der
Schleife initialisiert. Er wird innerhalb der Schleife hoch- oder
runtergezählt. |
|
|
|
|
|
|
|
|
schleifen3 - Applet
|
Timer
|
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
swing.Timer |
JScrollPane |
Es wird beim
Programmstart eine Instanz des Timers initialisiert. |
Im
Timerereignis werden nun eine Reihe von Aktionen
durchgeführt: Eine globale Variable wird bis
dreißig hochgezählt und in das Textfeld geschrieben.
Immer wenn 30 erreicht sind, wird ein Zeilenumbruch an das Textfeld
gesendet und ein Zeilenzähler hochgezählt.
Der Zeilenzähler wird in einem Label gezeigt.
Die Uhrzeit wird angezeigt
Es werden nacheinander vier x/y Koordinaten mit dem Zufallsgenerator
erzeugt. Die vier kleinen Labels werden mit Hilfe der
Zufallskoordinaten ständig neu positioniert.
Es sieht so aus als sprängen sie über den
Bildschirm. |
GregorianCalendar |
JTextArea |
Random |
JLabel |
Neu ist
ebenfalls das Kalenderobjekt, mit dem Zeit und Datum angezeigt wird. |
|
JButton |
|
|
Neu ist auch
das Random-Objekt, mit dem Zufallszahlen erzeugt werden. |
|
|
|
|
|
|
|
|
|
timer - Applet
|
Klassen
|
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
class
extends Canvas |
JButton |
Benutzerdefinierte
interne Klasse |
Einterne Klasse, die
Eigenschaften von einer Elternklasse erbt, stellt ein Bild-Objekt dar.
Wir bewegen das Objekt, das das Bild enthält mit Hilfe der
jButtons. Die Bewegung des Objektes wird mit Hilfe von Konstanten und
den Positionseigenschaften des Objektes
gesteuert. |
|
JLabel |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
klassen1 - Applet
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
class
extends Canvas |
JButton |
Array
mit Bildobjekten zur Darstellung des Spielfeldes |
Wir
fügen eine weitere interne Klasse 'GFeld' hinzu, die von
Canvas abgeleitet wird. Mit Hilfe zweier geschachtelter
For-Schleifen erzeugen, speichern und zeigen wir spalten- und
zeilenweise Kästchen. Aus dieser Klasse erzeugen wir 100
Feldobjekte, die wir in einem zweidimensionalen Array von Datentyp
'GFeld' speichern. Das Array ist zweidimensional wie eine
Tabelle aufgebaut und enthält 10 Spalten und 10 Zeilen. Jedes
Kästchen wird in diesem Array gespeichert. |
Array
mit dem 'Datentyp' der benutzer- definierten internen Klasse 'GFeld' |
JLabel |
|
Objekt
'kuh' |
|
|
Objekt
'GFeld' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
klassen2 - Applet
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
class
extends Canvas |
JButton |
Array
mit Bildobjekten zur Darstellung des Spielfeldes |
Den Feldobjekten wird
die Möglichkeit genommen, den Fensterfokus zu erhalten.
Fokussierbar sind jetzt nur noch die Richtungsknöpfe und die
Kuh. Jedes fokussierbare Objekt erhält einen
Tastaturereignislauscher (KeyEventListener). Alle Lauscher rufen eine
Prozedur auf, die das Tastaturereignis auswertet und behandelt.
Die Kuh kann jetzt mit Hilfe der Knöpfe und den Tasten rechts,
links, auf und ab rennen.
|
Array
mit dem 'Datentyp' der benutzer- definierten internen Klasse 'GFeld' |
JLabel |
|
Objekt
'kuh' |
|
KeyListener |
Objekt
'GFeld' |
|
|
|
|
|
|
|
|
|
|
|
klassen3 - Applet
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
class
extends Canvas |
JButton |
Hinzufügen
einer Eigenschaft zur Klasse 'GFeld' |
In der Textdatei
'Spielplan.txt' wird mit den Zeichen 'x' und 'o' ein Spielfeld mit
Hindernissen definiert. Der Spielplan wird ausgelesen und in einem
zweidimensionalen Array gespeichert. Beim Zeichnen des Spielplans
werden nun Hindernisse gezeichnet. Im Feldobjekt wird gespeichert, ob
es sich um ein gesperrtes Feld handelt. In den Bewegungsfunktionen wird
nun geprüft, ob ein blockiertes Spielfeld betreten werden soll.
|
Array
mit dem 'Datentyp' der benutzer- definierten internen Klasse 'GFeld' |
JLabel |
Textdatei
auslesen. |
Objekt
'kuh' |
|
KeyListener |
Objekt
'GFeld' (blockiert, nicht blockiert) |
|
File-Objekt |
|
|
|
|
|
|
|
|
|
klassen4 - Applet
|
Dateien lesen
|
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
URL
getCodeBase()
InputStream = url.openStream()
Scanner(InputStream) .useDelimiter("") .next()
|
JButton
JScrollPane
JTextArea |
|
Hier wird
das Einlesen einer Datei, die auf dem Server liegt,
demonstriert.
|
try
{
} catch (Exception e) {
} finally {
}
|
|
|
|
|
DateiImGanzenVomServerLesen - Applet
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
URL
getCodeBase()
url.openStream()
InputStreamReader
BufferedReader
BufferedReader.readLine())
BufferedReader.close();
|
JButton
JScrollPane
JTextArea |
|
Hier wird das
zeilenweise Einlesen einer Datei, die auf dem Server liegt,
demonstriert.
|
while
((Bedingung)){
// Code...
}
|
|
|
|
|
DateiZeilenweiseVomServerLesen - Applet
|
Würfel
|
|
Sprachstrukturen |
Steuerelemente |
Besonderes |
Idee |
---|
Zufallszahlen
(random) Timer Timer extern starten und Stoppen Typumwandlung
String -> int |
JButton Timer JLabel |
|
Ein kleines Spiel in
dem die Grundzüge eines 'einarmigen Banditen' gezeigt werden.
|
| |
|
|
|
Wuerfeln - Applet
|