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 ...

Applikationen

Java arbeitet streng objektorientiert. Dazu werden sogenannte "Klassen" erstellt, die die ihnen zugedachten Aufgaben ausführen sollen. Zu einer solchen Klasse gehören die Methoden (mit oder ohne Rückgabewerte) und die Variablen, die innerhalb der Klasse benötigt werden. Jedes neu erstellte Programm erweitert entweder eine bestehende Klasse oder stellt eine neue Klasse dar. Abgeleitete Klassen "erben" im Allgemeinen die Eigenschaften der übergeordneten Klasse(n).

Java-Programme, die unter einer grafischen Benutzeroberfläche (GUI) laufen, erweitern bestehende Klassen (z.Bsp. "Frame" oder "JFrame"). Auf diese Weise muss sich der Programmierer beispielsweise nicht mehr um die Darstellung auf dem Bildschirm kümmern. Eine andere wichtige Klasse stellt die Klasse "Applet" dar...

Applikationen werden unter dem sogenannten Java Runtime Environment (JRE) ausgeführt. Die Programme wurden mit dem Javacompile (javac) in den sogenannten Java-Bytecode übersetzt. Das auf dem jeweiligen Rechner vorhandene IRE übernimmt schließlich die Ausführung des Bytecodes (Beachte: dadurch werden die Applikationen plattformunabhängig...).

Grundsätzlich besteht jede Applikation darin, dass eine eigene (neue) Klasse definiert wird. Diese Klasse muss mindestens eine Methode enthalten: public static void main(String arguments[]). Sobald die Applikation gestartet wird, wird die Methode 'main' abgearbeitet - die Applikation "läuft" ;-)

Sollen Elemente des graphic user interface (GUI) verwendet werden, so sollten im Allgemeinen die Packages 'awt.*' und 'awt.event.*' importiert werden. Damit stehen im Wesentlichen folgende Objekte zur Verfügung:

  • Label - Flächen, auf denen Text ausgegeben werden kann
  • TextField - einzeilige Texteingabefelder
  • TextArea - mehrzeilige Texteingabefelder
  • Button - Buttons, die beim Klick gewünschte Ereignisse auslösen
  • Checkbox - Checkbutton; Kästchen, die eine Mehrfachauswahl erlauben
  • CheckboxGroup - Radiobutton; Kreise, die eine eindeutige Auswahl erlauben
  • Choice - Auswahlliste
  • List - generiert Listen
  • Scrollbar - erstellt horizontale oder vertikale Scrollbalken
  • Menu - stellt ein (Befehls)Menü zur Verfügung
  • Frame stellt ein (neues) Fenster mit Menü zur Verfügung

Um Ereignisse in der Applikation verarbeiten zu können sind sogenannte Event Listener nötig, die als sogenannte "Interfaces" die Schnittstelle zwischen Applikation und Benutzer herstellen (vgl. auch "Applets - Events" auf dieser Seite!):

  • 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 interaktive Java-Programme muss gelten:

1. Die Applikation bzw. das Applet muss entsprechende Interfaces implementieren.

2. Jedes GUI-Element muss mit dem entsprechenden Event-Listener verbunden werden.

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:

Die winzige Java-Applikation soll ordnungsgemäß beendet werden, indem der Benutzer das "Schließen"-Icon anklickt...


Code:

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

public class fensterzu extends Frame {

    fensterzu() {
    	super("Ein kompettes Proggi");
    }

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

Kommentar:

Frame - stellt ein (Programm)Fenster mit Titelleiste zur Verfügung. Die Methode super() vergibt einen Titel.

WindowAdapter() stellt das Reagieren auf "Fenster-Ereignisse" sicher - hier soll das Schließen des Fensters realisiert werden.

addWindowListener() fügt das Windows-Interface hinzu.

setSize() legt die Breite und Höhe des Fensters fest.

show() macht das Fenster am Bildschirm sichtbar.

setLocation() legt die Koordinaten der linken oberen Ecke des Fensters fest - hier wird diese Methode nicht verwendet, daher werden Default-Werte verwendet. Voreingestellt sind die Koordinaten (0/0).


Aufgabe:

Erstelle eine kleine Applikation, die ein Fenster in der Mitte des Bildschirms öffnet...


© Alfred Nussbaumer, Weblog "MiniNuss"