Dialogfelder werden meist benutzt, wenn man Meldungen zu bestimmten Aktionen ausgeben möchte oder Daten vom Benutzer eingegeben werden sollen.
Es gibt 2 Arten von Dialogfeldern:
Syntax in der Hauptklasse:
Dialogfelder werden Objekttyp Dialogfeld abgeleitet und müssen
von FRAME und nicht von Applet spezifiziert werden.
Der Aufruf bzw. die Darstellung erfolgt dann durch die Funktion .show().
Show sorgt dafür, daß das Dialogfeld auf den Bildschirm gezeichnet
wird.
...
Dialogfeld feld = new Dialogfeld( Frame Bezeichner);
feld.show();
Syntax der Klasse eines Dialogfeldes:
Ein Dialogfeld - Klasse muß vom Typ Dialog abgelitten werden.
Desweiteren verweist die Klasse mittels super auf die aufrufenden Klasse
bzw. das aufrufende Fenster.
class Dialogfeld extends Dialog
{
public Dialogfeld (Frame parent)
{
super (parent, "Titel", [true/false])
.
.
Kann auf Basis der Dialogfelder geschehen.
Es gibt in Java keine einfache Art Daten aus einem Dialogfeld in das Hauptprogramm
zu bekommen, da alle Daten sofort beim Verlassen Fensters vernichtet werden.
Es gibt die Möglichkeit kurz nach dem Vernichten des Fensters eine Funktion der aufrufenden Klassen aufzurufen, um die Daten zu übergeben. Dies macht das Programm aber Funktionsabhängig, da auch in späteren Programmen derselbe Funktionsname verwendet werden muß, wenn das Dialogfenster auch später nochmals in anderen Programmen verwendet werden soll.
Deshalb gibt es die allgemeine Schnittstelle interface ResultProcessor.
Mit dieser Schnittstelle ist es möglich, die Daten unabhängig
von der aufrufenden Klasse, zu übergeben.
Implementierung in der Hauptklasse:
In der Hauptklasse muß der ResultProcessor implementiert werden und der Rückgabewert in das entsprechende Format konvertiert werden.
class xyz extends Frame implements ResultProcessor
{
....
public void processResult(Dialog source, Object obj)
{
if (source instanceof ConnectDialog)
{
ConnectInfo result = (ConnectInfo) obj;
......
}
}
......
Implementierung in der Dialogklasse:
In der Dialogklasse wird sofort nach dem Vernichten der ResultProzessor gestartet und die Daten übergeben. Dabei werden mehere Daten zu einem Rückgabewert zusammengefaßt und müssen in der Hauptklasse wieder voneinander getrennt werden.
....
public boolean action(Event evt, Object arg)
{ if(arg.equals("Bedingung"))
{ dispose();
((ResultProcessor)getParent()).processResult(this, Rückgabewert);
}
...
Textfelder ermöglichen die Eingabe von Daten durch den Benutzer.
Dabei gilt die Faustformel, daß man die Textfelder um einen Buchstaben
länger macht, als man darstellen will, da sonst bedingt durch die
unteschiedlichen Schriften der Systeme Buchstaben veschwinden können
oder nicht mehr vollständig dargestellt werden.
Die Eingabe in Textfelder kann beliebig lang werden. Wenn die Länge des Textfeldes überschritten wird, scrollt der text nach links aus dem Textfeld heraus. Dabei gehen keine Zeichen verloren und man kann mittels der Pfeiltasten zurückskrollen.
Die Texteingabe wird mit RETURN abgeschlossen.
Syntax von Textfeldern:
Panel p = new Panel();
TextField tf = new TextFiled("Name",
Größe in Zeichen);
p.add(tf);
Textfelder müssen einen eindeutigen Bezeichner haben, damit auf
sie zugegriffen werden kann.
Deswegen können sie nicht durch p.add(TextField .... ) erzeugt
werden, da man sie über das Objekt p nicht eindeutig referenzieren
kann.
Methoden für Textfelder:
void setText(String t) - Setzen/Verändern eines Textes in ein Textfeld
String getText() - Auslesen eines Textes aus einem Textfeld
Textbereiche
sind für Benutzereingaben, die mehr als eine Zeile umfassen sollen.
Es können die Anzahl der Spalten und Zeilen festgelegt werden, die
sichtbar sein sollen.
Auch gilt wieder Regel, daß man lieber eine Zeile und eine Spalte
mehr nehmen soll als man darstellen möchte, da man nicht weiß,
wie der Textbereich auf dem einzelnen System aussehen wird.
Syntax von Textbereichen:
TextArea(int Reihen, int Spalten)
Die Eingabeprüfung:
Bei JAVA gibt es keine Typprüfung von eingegebenen Daten. Man muß diese Prüfungen selber implementieren und gegebenfalls die Eingabe in das gewünschte Fromat konvertieren.
Zurück zum Inhaltsverzeichnis.
In JAVA stehen folgende Methoden zur Textbearbeitung und Textverarbeitung
zur Verfügung.
Weitere Funktionen gibt es nicht und man muß alle weiteren Funktionen,
die man verwenden möchte, selber definieren und implementieren.
Methoden der Textselektionen:
void select all() - selektiert den gesamten Text
void select (int Startpos, int Endpos) - Textselektion von Startpos bis Endpos
int getSelectionStart() - Ergibt die Anfangsposition der Selektion
int getSelectionEnd() - Ergibt die Position nach dem letzten selektierten Text
String getSelectedText() - Auslesen des selektierten Textes
Die üblichen Methoden der Bearbeitung:
void insertText ( String str, int position) - Einfügen an der Stelle position
void appendText ( String Str) - Anhängen an einen Text
void replaceText ( String str, int start, int end ) - Ersetzung einer Zeichenkette mit einer anderen
Zurück zum Inhaltsverzeichnis.
... [ Seminar WWW und JAVA]... [Applets und das Java AWT] ... [Zum Anfang der Seite] ... [Animation] ...