Java Grundlagen Der einfachste Aufbau einer Klasse (kompilierbar) Klasse, die von der Fensterklasse JFrame abgeleitet ist Die Klasse MeinFenster erbt damit alle Eigenschaften der Klasse JFrame. Die Klasse JFrame befindet sich im Paket javax.swing und muss mit Hilfe des Befehls import importiert werden. Vollständiges Programm, das ein Fenster öffnet, das jedoch nur in BlueJ gestartet werden kann In der Klasse MeinFenster ist eine sogenannte Methode enthalten. Diese Methode trägt den Namen MeinFenster und damit den gleichen Namen wie die Klasse. Eine solche Methode nennt man auch Konstruktor. Ein Konstruktor wird aufgerufen, wenn ein Objekt von einer Klasse erzeugt wird. Diese geschieht jedoch noch nicht in diesem Programm von selbst, sondern man muss dies in der Programmierumgebung BlueJ von Hand erledigen mit dem Menübefehl new MeinFenster(). In der Konstruktormethode werden drei Methoden aufgerufen, die in der Klasse JFrame definiert sind: public void setBounds(int x,int y,int width, int height) – Methode, die die Koordinaten der linken oberen Ecke des Fensters auf dem Bildschirm festlegt und die Breite und Höhe des Fensters. public void setTitle(String title) – Methode, die den Fenstertitel festlegt. public void setVisible(boolean value) – Methode, die das Fenster sichtbar macht. Standardmäßig ist es zunächst unsichtbar! Vollständiges Programm, das ein Fenster öffnet, das auch unter Windows gestartet werden könnte Die Klasse MeinFenster besitzt eine weitere Methode mit dem „Methodenkopf“ public static void main(String[] args). Diese Methode kann vom Betriebssystem aufgerufen werden, um das Programm zu starten, d.h. dass eine Klasse eine solche Methode besitzen muss, damit sie vom Betriebssystem startbar ist. Der Methodenkopf besteht aus folgenden Teilen: public : Zugriffsmodifikator, der angibt, dass die Methode von außerhalb der Klasse aufgerufen werden darf static: bedeutet, dass die Methode verwendbar ist, auch wenn von der Klasse kein Objekt erzeugt wurde. void: bedeutet, dass die Methode keinen Rückgabewert besitzt. main: Name der Methode String[] args: Der Methode kann ein Array mit dem Feldtyp String übergeben werden. Innerhalb der Methode wird ein Objekt der Klasse MeinFenster erzeugt. Programmierung einer Stoppuhr- Ein Anfang Diese Programm startet ein Fenster, das einen Button enthält, mit dem man das Programm beenden kann und ein Label, also einen Text mit dem Inhalt „00:00“. Dieses Label soll später einmal die laufende Zeit anzeigen. In Zeile 9 und 10 erkennt man die Deklaration der Klassenvariablen JButton bExit und JLabel lZeit . Diese Variablen heißen auch Referenzvariablen, da sie auf Objekte der Klassen JButton bzw. JLabel zeigen können. Anders gesagt: man kann über diese Variablen auf die Objekte zugreifen. Das Objekt wird in Zeile 16 mit dem Befehl new JButton(“Beenden“) erzeugt. Der sogenannte newOperator ruft dabei die Konstruktor-Methode JButton der Klasse JButton auf und übergibt ihr bei der Gelegenheit gleich den Text, der auf dem Button stehen soll (“Beenden“). Der Ausdruck new JButton(“Beenden“) gibt jedoch eine Referenz auf das neu erzeugte Objekt zurück, die dann in der Referenzvariablen bExit gespeichert wird. Man kann nun auf den Button über die Variable bExit zugreifen. Als nächstes muss noch definiert werden, was passieren soll, wenn der Button gedrückt wird. Dazu fügt man einen sogenannten ActionListener hinzu. Ein ActionListener ist etwas, das „lauscht“, ob mit dem Button etwas passiert. Wenn dies der Fall ist, wird die Methode actionPerformed aufgerufen. Diese Methode ist in der Klasse ActionListener implementiert. In dieser Methode wird der Befehl System.exit(0) aufgerufen, der das Programm mit dem Exitcode 0 beendet, was so viel bedeutet wie „Programm fehlerfrei beendet“. In Zeile 22 wird der neu erzeugt Button dem Fenster hinzugefügt. AUFGABEN 1. Wozu sind die Anweisungen in den Zeilen 9 und 10 gut? Du kannst sie auskommentieren, indem zu die Zeichen // vor die Befehle stellst. Dann werden die Zeilen vom Compiler als Kommentar gesehen und bleiben unberücksichtigt. Was sagt der Compiler dann? 2. Finde heraus, was die Befehle in den Zeilen 15 und 23/24 bewirken. 3. Ändere den Quelltext so, dass zwei weitere Button mit den Aufschriften „Start/Stopp“ und „Zwischenzeit/Reset“ im Fenster erscheinen