Übersicht




  => Applications im JavaEditor
  => Buttons
  => Ereignisse und Ereignisbehandlung
  => Beispiele
  => Aufgaben

Applications im JavaEditor

Fensteranwendungen mit dem JavaEditor sind (fast) ein Kinderspiel:

Ach ja, beenden kann man das Programm auch, klicke auf das kleine Kreuzchen oben rechts . . .

<<<

Buttons

Ein Programm beenden, das ist nichts großartiges, welch ein Irrtum! Es genügt, folgende vom JavaEditor erzeugte Zeilen zu löschen, und nichts geht mehr!

addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent evt) { System.exit(0); }
    });

Wir schauen uns das Hauptprogramm an:

1    public static void main(String args[])    {
2            new Fenster1("Fenster1");
3    }

Als erstes geben wir unserem Fenster einen Namen und einen Titel: schreibe in Zeile 2:

Fenster1 f = new Fenster1("  BaNcOmAt  ");

und überprüfe dein Ergebnis! Welchen Namen hat dein Fenster jetzt? Und wie heißt die Klasse?
Als nächstes ergänzen wir nach Zeile 2:

            f.setSize(200,100);
            f.show();

Übersetzen, Starten, was verändert sich im Fenster?

Und jetzt kommen wir zu unserer Überschrift: Buttons
1. Teil: Hinzufügen. Begebe dich in die Methode public Fenster1(String Titel) und füge dort zwischen
// Anfang Komponenten und


// Ende Komponenten
folgende Zeilen hinzu:

Button ende = new Button("BeEnden");

setLayout(new FlowLayout() );

add(ende);

Erklärungen kommen gleich, davor bitte abspeichern und ausprobieren. PS: Klicken zwecklos! Dein Fenster sollte jetzt so ähnlich aussehen:

Erklärungen zu den drei Zeilen:

Und warum hilft kein Klicken nicht? Später! Jetzt bitte erst folgendes Fenster herstellen:

Wie? Nun erst den Button vereinbaren und dann mit add hinzufügen. add verlangt als Parameter den Namen, den du dem Button gegeben hast, im Beispiel oben ist das ende!
Kommen wir zum zweiten Teil: Ereignisse und Ereignisbehandlung

<<<

Ereignisse und Ereignisbehandlung

Und warum geht das Klicken nicht? Tja, das ist eben die Kunst der Fensterprogrammierung. Überlege bitte: DU bist so ein Fensterprogramm und wartest, und wartest, und wartest. Worauf? Na, dass irgendwer auf den Button "BeEnden" klickt. Und wenn dieses Ereignis endlich eintritt, dann kommt dein großer Augenblick als Fensterprogramm: du darfst irgendeine Aktion ausführen, beispielsweise das Programm beenden, oder eine unglaublich wichtige Meldung ausgeben! Nur: irgendwer muss für diese Verbindung zwischen dem Ereignis Button klicken und der Aktion Programm beenden sorgen und das ist deine Aufgabe als ProgrammiererIn. Gratulation!

Mini-HowTo: Ereignisbehandlung

<<<

Beispiele

gibt es diesmal keine, der JavaEditor erzeugt das Beispielprogramm von heute "automatisch"!

<<<

Aufgaben

  1. Führe die Schritte oben im Abschnitt Buttons durch, Ziel:


  2. Versuche wenigstens den Button ende mit einer Aktion (man sagt auch: Ereignisbehandlungsroutine) zu verbinden, siehe oben im Mini-HowTo!

  3. Jetzt wird's ernst: Dein Programm soll folgende Ausgabe erzeugen:
    Starte Anwendung
    Wegen Streik geschlossen!
    Kontostand: - 33333.99 EUR
    Wegen Streik geschlossen!
    Wegen Streik geschlossen!
    Kontostand: - 33333.99 EUR
    
    Wo erscheint diese Ausgabe? Im MS-DOS-Konsolenfenster! Du verbindest den Button mit der Beschriftung Auszahlung mit der Ausgabe "Wegen Streik geschlossen!" und den Button mit der Beschriftung Kontostand mit der Ausgabe "Kontostand: - 33333.99 EUR"

  4. Gleiche Aufgabe wie eben, nur diesmal rufen wir die Methoden aus unserer Klasse BankKonto auf! Wo wird das Konto vereinbart? Am Anfang:
      // Anfang Variablen
      public BankKonto bk1 = new BankKonto(100.00); // Konto erzeugen
      // Ende Variablen
    
    Dann können wir auch vom Eventhandler (= Ereignisbehandler) aus auf das Bankkonto zugreifen, Beispiel:
      class MeinKontostandActionListener implements ActionListener
      {
       public void actionPerformed( ActionEvent e  )
       {
           bk1.anzeigen();
       }
      }
    Beachte: Die Klasse BankKonto muss (!) im gleichen Verzeichnis stehen, wie deine Fensterprogramme, sonst findet der java-Compiler die Klassen nicht!

<<<
    W. Spiegel, Kontakformular