next up previous contents
Nächste Seite: Popupmenu Aufwärts: Die Komponenten Vorherige Seite: Textarea   Inhalt


Textfield

Abbildung: Beispiel für die Programmierung eines Login Feldes mit der Hilfe von Textfeldern. Das Password wird nicht lesbar dargestellt.
textfield.eps

Ein Textfeld dient der einzeiligen Eingabe eines beliebigen Textes durch den Benutzer. Da im wesentlichen alle Funktionen des Textelementes (siehe voriges Kapitel) auch auf das Textfeld anwendbar sind, wird hier nur kurz auf zusätzliche Funktionen eingegangen. Das folgende Beispiel stellt ein login Dialogfenster dar:


    /* Example textfield.c */
    
    :
    login    = j_textfield(frame,35);
    passwd   = j_textfield(frame,35);
    :
    j_setechochar(passwd,'*');

    while(1)
    {            
        :
                
        if(obj==login)
        {
            j_gettext(login,inhalt);
            printf("Your name is %s\n",inhalt);
        }
            
        if(obj==passwd)
        {
            j_gettext(passwd,inhalt);
            printf("Your password is %s\n",inhalt);
        }
        
        if(strcmp(inhalt,"exit")==0)
            break;    
    }
    :

Da Textfelder nur einzeilig sind, besitzt der Funktionsaufruf dieses Elements auch nur einen Parameter zur Angabe der sichtbaren Spalten:


    j_textfield(frame,n_spalten);

Obwohl Textfelder keine Scrollbars besitzen, kann ein überlanger Text im Sichtfenster gescrollt werden, da der Textcursor immer im sichtbaren Bereich bleibt.

Ein Textfield meldet erst dann einen Event, wenn die Eingabe in das Feld durch drücken der Return Taste bestätigt wurde. Dennoch kann jederzeit der Inhalt des Feldes mit der Prozedur j_gettext() ermittelt werden

Soll, z.B. bei Eingabe eines Passwords, kein erkennbarer Text angezeigt werden, so kann mit der Funktion


    j_setechochar(passwd,'*');

ein sogenanntes ''echo character'' angegeben werden. Im Beispiel wird also in der Password Zeile für jedes eingetippte Zeichen ein Asterix dargestellt. Denoch entspricht der Inhalt des Textfeldes genau der eingetippten Zeichenfolge. Im Beispiel kann im Password Feld die Zeichenfolge ''exit'' eingetippt werden, um die Applikation zu beenden.


next up previous contents
Nächste Seite: Popupmenu Aufwärts: Die Komponenten Vorherige Seite: Textarea   Inhalt
Merten Joost 2003-02-26