Lehrer Nussbaumer - JAVA (eine kleine Einführung ;)

Grundlagen

GUI

Eingabe

Ausgabe

Applikationen

  1. Wurfbahnen
  2. Satellitenbahnen
  3. Interaktion
  4. Notizzettel
  5. Typkonvertierung
  6. Rechner
  7. Mandelbrot-Menge
  8. Julia-Menge

Applets

Servlets

Beispiele

Spiele

IDEs

Skriptum

JAVA-DOCS


-----------------
letzte Änderung:
09 December 2021
-----------------
Lehrer Nussbaumers Seite

... in Arbeit ...

Interaktion

Interaktionen werden über sogenannte "Interfaces" realisiert.

  • ActionListener - reagiert auf ActionEvent (z.Bsp. Drücken der <ENTER>-Taste oder Klicken auf einen Button... - Methode actionPerformed)
  • ItemListener - reagiert auf ItemEvent (z.Bsp. Wahl eines Elements in einer Choice-Liste, Checkbox oder Radiobutton-Gruppe...)
  • MouseListener - reagiert auf MouseEvent
  • MouseMotionListener - reagiert auf Mousemovements
  • KeyListener - reagiert auf Tastatureingaben (keyPressed, keyTyped, keyReleased und die Methoden getKeyChar, getKeyText,...)

Für jedes Event-Listener-Interface gibt es sogenannte Adapterklassen, mit denen in inneren Klassen die Methoden überschreiben kann, die man für seine Anwendung benötigt (z.Bsp. WindowAdapter, MouseAdapter, MouseMotionAdapter). Das Implementieren der entsprechenden Interfaces in der Kopfzeile der Klassendefinition entfällt dabei...

Beispiel:

In einer einfachen Java-Applikation sollen zwei Buttons verschiedenen Text auf einem Label ausgeben. Beachte das sehr einfache Layout ("FlowLayout")!


Code:

import java.awt.*;
import java.awt.event.*;

public class interakt extends Frame implements ActionListener {

    Button bein,baus;
    Label lab;

    interakt() {
    	super("Programm mit Buttons ;-)");
    	
    	FlowLayout ansicht = new FlowLayout();
    	setLayout(ansicht);
    	
        bein = new Button("ein");
        add(bein);
        baus = new Button("aus");  	
        add(baus);
        lab = new Label("???");
        add(lab);

        bein.addActionListener(this);
        baus.addActionListener(this);
    }

    void ein() {
        lab.setText("ein");
    }

    void aus() {
    	lab.setText("aus");
    }

    public void actionPerformed(ActionEvent e) {
    	if (e.getSource() == bein)
    	   ein();
    	else if (e.getSource() == baus)
    	   aus();
    }

    public static void main (String[] arguments) {
    	interakt proggi = new interakt();
    	WindowListener wl = new WindowAdapter() {
    	    public void windowClosing(WindowEvent e) {
    	    	System.exit(0);
    	    }
    	};
    	proggi.addWindowListener(wl);
    	proggi.setSize(300,100);
    	proggi.show();
    }
}

Kommentar:

bein.addActionListener(this); Das Interface muss zu jedem Objekt, das Ereignisse auslösen soll, verknüpft werden.

public void actionPerformed(ActionEvent e) - Die Methode actionPerformed() wird so überschrieben, dass die Applikation gewünschte Interaktionen auslöst. Im Allgemeinen werden damit eigene Methoden aufgerufen...


Aufgabe:

Schreibe eine kleine Applikation, die "auf Knopfdruck" verschiedene Schulnoten vergibt ;-).


© Alfred Nussbaumer, Weblog "MiniNuss"