Java Reference
In-Depth Information
Die Methode wird von JComponent weitervererbt und erwartet vier int -Werte, die den
rechteckigen Bereich der betreffenden Komponente beschreiben, der sofort neu
gezeichnet werden soll. Fügen Sie die Anweisung für alle Komponenten ein, die nicht
korrekt dargestellt werden, und geben Sie die gesamte Komponentengröße an. Die
Anweisung
jAmpel.paintImmediately(0, 0, jAmpel.getWidth(), jAmpel.getHeight());
zeichnet z. B. die gesamte Ampel. Sollen die Radiobuttons neu gezeichnet werden, reicht
es aus, das Panel, in dem sich die Buttons befinden, darstellen zu lassen.
Nach diesen Ergänzungen sollte die Darstellung der Ampelphasen exakt der Anwei-
sungsfolge entsprechen. An der Tatsache, dass die while -Schleife vom Anwender nicht
mehr abgebrochen werden kann, hat sich mit dieser Ergänzung nichts geändert. Mit
diesem Teilerfolg sollten Sie sich noch nicht zufrieden geben. Allerdings erfordern die
Gegenmaßnahmen etwas mehr Aufwand, als das eben der Fall war. Ohne einen eigenen
Thread zu erstellen, wird sich dieses Problem nicht lösen lassen. Sie finden diese Pro-
grammversion auf der DVD im Ordner Arbeitsumgebung\Java\Programme\Java-
Uebung14 unter dem Namen Ampelsteuerung_2 .
14
14.2.2
Ampelsteuerung mit Thread
Ein Thread ist ein Programmteil, der quasi parallel zum übrigen Programm abläuft. Sie
können einen Thread auch als Miniprogramm innerhalb eines Programms auffassen. Es
muss entsprechend lauffähig sein und gestartet und beendet werden können. Ein Pro-
grammteil wird durch eine Methode mit dem Namen run() lauffähig. Schauen Sie sich
die von Eclipse erstellte main -Methode an, und Sie werden auch dort eine Methode run()
vorfinden, die z. B. für die Ampelsteuerung folgendermaßen aussieht:
public void run() {
Ampelsteuerung inst = new Ampelsteuerung();
inst.setLocationRelativeTo(null);
inst.setVisible(true);
}
Listing 14.4 run-Methode des Programms »Ampelsteuerung«
Sie können daran erkennen, dass innerhalb der main -Methode ein lauffähiger Pro-
grammteil, also ein Thread, erstellt wird. Sie können nun jederzeit zusätzliche Threads
innerhalb eines Programms erstellen. Grundsätzlich sind zwei Möglichkeiten für die
Erstellung von Threads zu unterscheiden:
Search WWH ::




Custom Search