Arbeitsblatt 5 – EAD II NetBeans

Werbung
Arbeitsblatt 5 – EAD II NetBeans
Graphische Oberfläche für Uhrenanzeige mit NetBeans
Für die Einführung in die Verwendung von NetBeans erstellen wir die graphische Oberfläche
für die Uhr nun mit NetBeans.
Aufgabe 1: Projekt erstellen
Starten Sie NetBeans und erstellen Sie ein neues Projekt. Wählen Sie als Kategorie “Java”
und als Projekt “Java Application”, klicken Sie auf “Next”.
Beachten Sie beim Erstellen des neuen Projektes, dass die Checkbox bei “Create Main Class”
deaktiviert sein muss. Wir wollen später die Klasse, die das Fenster öffnet, als Main Class
festlegen.
Aufgabe 2: Klasse für Oberfläche hinzufügen
Für die Benutzungsoberfläche brauchen wir eine Klasse, die ein Fenster darstellen kann. Wir
wollen dazu die Klasse von JFrame ableiten. Wählen Sie aus dem Menü File New File,
dann die Kategorie “Swing GUI Forms” und “JFrame Form”.
Nennen Sie die Klasse “GUI”.
In der Files-Ansicht links können Sie sehen, welche Dateien nun erstellt wurden.
Sie sehen nun das Fenster in der Design-Ansicht.
Hinweise Benutzungsoberfläche NetBeans
Rechts neben der Oberfläche sollte in einem Fenster die Palette mit den Komponenten
angezeigt werden, die per Drag&Drop auf der Oberfläche platziert werden können. Ist sie
nicht zu sehen, können Sie sie unter dem Menüpunkt “Windows” anzeigen lassen (aber nur,
wenn Sie die Designansicht geöffnet haben).
Ist eine Komponente auf der Oberfläche ausgewählt, sehen Sie unter der Palette die
Eigenschaften dieser Komponente in der Ansicht “Properties”. Sie können dort geändert
werden oder spatter im Programm per Befehl.
Durch Klick auf “Source” oberhalb des Fensters können Sie auf die Quelltextansicht
umschalten.
Aufgabe 3: Klassen für Uhr hinzufügen
Nun wollen wir noch unsere Klassen für die Uhr hinzufügen, die wir in BlueJ erstellt haben.
Leider gibt es die Import-Funktion in der aktuellen Version von NetBeans nicht mehr, so
werden wir das manuell tun.
Eine neue Klasse erstellen wir über das Menü File  New File und wählen dann Java und
Java Class.
Im nächsten Fenster müssen wir den Namen eingeben. Wir nennen die Klasse
Nummernanzeige bzw. Uhrenanzeige. Wir erhalten nun eine neue Klasse ohne Inhalt. Den
Quelltext für die Klasse kopieren wir aus den .java-Dateien, die wir in BlueJ erstellt haben.
Um die zwei Klassen zu erstellen, müssen wir das zweimal ausführen.
Aufgabe 4: Oberfläche erstellen
Platzieren Sie ein Label und einen Button auf der Oberfläche. Schauen Sie sich den
entstandenen Quelltext an.
Orientieren Sie sich nun am Vorgehen beim BlueJ-Programm. Wir brauchen auch hier die
Instanzvariable für die Uhrenanzeige und müssen diese im Konstruktor erzeugen und die
aktuelle Uhrzeit dem Label zuweisen.
Durch Rechtsklick auf den Button öffnet sich ein Kontextmenü. Aus diesem wählen Sie
Events  Action  actionPerformed. Automatisch wird die innere Klasse mit dem
Methodenrahmen erzeugt, in den Sie nun die Befehle eintragen können, die bewirken, dass
beim Klick auf den Button die Uhrzeit eine Minute weitergesetzt wird.
Hinweise zum automatisch generierten Code
In der Quelltext- (Source-) Ansicht ist der selbst geschriebene und der automatisch generierte
Code zu sehen. Grau hinterlegte Zeilen können nicht gelöscht oder geändert werden.
Mit Klick auf + und – können Bereiche aus- und eingeklappt werden.
Schauen Sie sich an, welcher Quelltext nach dem Hinzufügen von Komponenten erzeugt
wird: Instanzvariablen stehen am Ende der Klasse, zur Initialisierung wird eine MEthode
initComponents() erstellt, die standardmäßig verborgen ist.
Aufgabe 5: Programm erweitern
Setzen Sie Aufgabe 6 der Vorwoche um: Button zum getrennten Erhöhen der Stunden.
Aufgabe 6 : Währungsumrechner
Schließen Sie das Uhrenprojekt. Erstellen Sie ein neues Projekt, fügen Sie eine Klasse hinzu,
abgeleitet von JFrame.
Platzieren Sie die Komponenten, die für einen Währungsumrechner gebraucht werden, z.B.
so:
Neu hinzu kommt die Komponente TextField, über die Nutzereingaben gemacht werden
können.
Hinweise zum TextField
Diese Komponente arbeitet mit Strings, d.h., wenn man mit setText(String) einen
neuen Inhalt zuweist oder mit getText() den aktuellen Inhalt liest, arbeitet man immer mit
Strings.
Da wir mit den Werten aber rechnen wollen, müssen wir diese Strings in Zahlenwerte
umwandeln. Die erste Anweisung liest den Inhalt des Textfeldes in die Variable inhalt.
String inhalt = jTextField1.getText();
Umwandeln des Strings inhalt in einen integer-Wert:
int x = Integer.parseInt(inhalt);
Umwandeln des Strings inhalt in einen double-Wert:
double y = Double.parseDouble(inhalt);
Achtung: wenn im Textfeld keine Zahl steht, erhalten Sie eine
Fehlermeldung. Es wird nichts geprüft! Double-Werte müssen mit Punkt
als Dezimaltrennzeichen eingegeben werden.
Umwandeln einer Zahl x in einen String (für double entsprechend anpassen):
String ergebnis = Integer.toString(x);
Herunterladen