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

Notizzettel

  • ActionListener mit der Methode actionPerformed(ActionEvent e)
  • Window-Adapter mit der Methode windowClosing(WindowEvent e)
  • FlowLayout() für die Anordnung der GUI-Objekte am Frame
  • Methoden:
    • getText() - übernimmt den Text (z.Bsp. aus einer Texteingabezeile)
    • setText() - übergibt Text (z.Bsp. in eine Texteingabezeile)
    • append() - fügt einen Text in ein Texteingabefeld ein

Beispiel:

In diesem Beispiel sollen die Eingaben, die in ein Textfeld erfolgen, in eine Textfläche übernommen werden. Folgende Objekte werden verwendet: Label, TextArea, Label, TextField.


Code:

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

public class notiz extends Frame implements ActionListener {

    TextField texteingabe;;
    TextArea zettel;

    public static void main(String arguments[]) {
        notiz proggi = new notiz();

        WindowListener wl = new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        };
        proggi.addWindowListener(wl);
        proggi.setLocation(100,100);
        proggi.resize(520,300);
        proggi.show();
    }

    notiz() {
        super("Notizzettel ;-)");

        setLayout(new FlowLayout());

        Label info = new Label("Notiz in die Eingabezeile, ");
        zettel = new TextArea("",10,60,TextArea.SCROLLBARS_VERTICAL_ONLY);
        Label eingabe = new Label("Eingabe:");
        texteingabe = new TextField(30);

	texteingabe.addActionListener(this);

	add(info);
	add(zettel);
	add(eingabe);
	add(texteingabe);
    }

    public void actionPerformed(ActionEvent e) {
	if (e.getSource() == texteingabe ) {
	    zettel.append(texteingabe.getText()+'\n');
            texteingabe.setText("");
	}
	
    }


}

Kommentar:

texteingabe.addActionListener(this); bewirkt, dass das "Action-Interface" an das Objekt "texteingabe" (TextField) gebunden wird. Das Schlüsselwort this bezeichnet die aktuelle Klasse.

Die Methode addActionListener(this) muss an jede GUI-Komponente gebunden werden, die eine Interaktion auslösen soll. Im Allgemeinen kann dieses bei den folgenden Komponenten der Fall sein:

  • Button
  • CheckBox
  • CheckBoxGroup
  • TextField


Aufgabe:

Das FlowLayout im obigen Beispiel hat den Nachteil, dass die Anordnung der GUI-Objekte "durcheinander gerät", wenn der Benutzer die Fenstergröße verändert. Verwende daher ein anderes Layout, mit dem die Position der einzelnen GUI-Objekte fixiert bleibt!


© Alfred Nussbaumer, Weblog "MiniNuss"