Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Jetzt lerne ich Java 6

Ereignisbehandlung bei Menüs

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Um Menü-Einträge mit Funktionalitäten zu verbinden benötigen wir wieder Ereignis-Handling. Hierzu können Sie die bereits bekannten ActionListener verwenden. In dieser Lektion verdeutlichen wir das durch ein Beispiel.
05:19

Transkript

Was nützt Ihnen das schönste Menü in der Applikation wenn die einzelnen Einträge nichts tun. Hier müssen natürlich wieder Event-Handler ran. Vom Prinzip her kennen Sie das alles schon und haben es schon zigmal gemacht. Aber ich möchte Ihnen gerne, wenigstens hier für den "Beenden"-Knopf, den Weg noch einmal vorzeigen. Hierzu habe ich schon wieder etwas aufgeräumt, und habe Instanzvariablen für die einzelnen Elemente, auf jeden Fall für die Menü-Items, hier nach oben geschafft, damit wir diese auch erreichen können. Dann legen wir uns wieder eine innere Klasse an, für einen "ActionListener". Nennen wir ihn einfach "MenuAktion" und wir implementieren die Schnittstelle "ActionListener". Hierfür müssen wir "Java.awt.Event" importiert haben. Dann implementieren wir auch die Methode "actionPerformed", lassen uns ein ActionEvent übergeben, das wir in e auffangen, denn das verbrauchen wir nachher noch. Und das, was wir hier noch tun müssen, ist, zuerst einmal eine kurze Kontrolle eingeben, ob wir hier auch wirklich ankommen. Wir schreiben hier: Ich bin da! Okay, bis dahin stimmt's. Jetzt müssen wir noch unseren Event-Handler hier registrieren. Ich mache das für den "Beenden"-Knopf. Also gehen wir hier an das Menü-Item für "Beenden". Das heißt "itemEnd". Und hängen diesem mit "addActionListener" jetzt einfach nur eine neue Instanz unserer MenuAktion an. Voilà! Das ist also genauso wie bei Buttons. Wenn wir das Ganze jetzt hier als Applikation ablaufen lassen. dann müssten wir, wenn wir hier "Beenden" drücken, hier unten an der Konsole eine entsprechende Ausgabe bekommen. So weit, so gut. Das hätten wir geschafft. Da wir jetzt ein- und dieselbe MenuAktion natürlich überall an alle Items hängen - sonst hätten Sie ja einen Riesenbaum von inneren Klassen, für jeden einzelnen Knopf eine -, müssen wir natürlich innerhalb des Event-Handlers sortieren, was denn jetzt eigentlich gedrückt wurde. Und auch das haben wir schon ein paar Mal gemacht. Daher einfach nur noch mal in Kurzform: Im ActionEvent "e" können wir das Ganze auslesen. Also wenn "e.getActionCommand" dasselbe ist wie - jetzt halt der passende Knopf, den wir abfangen wollen -, der heißt in unserem Fall "itemEnd". Genau deshalb habe ich hier oben diese als Instanzvariablen deklariert, sonst kommen Sie da nämlich nicht mehr ran. Dann würden Sie hier jetzt einen Fehler bekommen, wenn Sie das eintippen. Aber bei uns geht das. Dann brauchen wir den Text, damit wir herausfinden können, ob das wirklich dieser Knopf war. Und wenn ja, dann soll das Programm beendet werden:"System.exit(0)". Damit beenden wir das Ganze. Und zur Gegenprobe: Ansonsten - "else" - kommt einfach eine Nachricht, damit Sie daran erinnert werden, dass Sie noch viel Arbeit vor sich haben, die anderen Menübefehle auch zu implementieren. Dann lassen wir das Ganze mal laufen und machen die Konsole dabei auf. Wir gehen erstmal nach "Bearbeiten", "Kopieren". "Datei"..."Schließen"..."Beenden"... ...passiert nirgends was. Das ist natürlich ganz schlecht. Dann speichern wir das Ganze und lassen es als Applikation ablaufen. "Datei beenden" funktioniert. So müssen Sie jetzt für die einzelnen Knöpfe hier Ihre passende if-Abfrage ergänzen, und natürlich für die Items auch den Handler registrieren, genau, wie Sie es hier gesehen haben, Damit können Sie jeden Menü-Knopf mit einer Aktion belegen.

Jetzt lerne ich Java 6

Steigen Sie ein in die Programmierung mit Java 6, lernen Sie die Grundlagen kennen und unternehmen Sie anschließend Ihre ersten Schritte in der objektorientierten Programmierung.

12 Std. 27 min (98 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!