next up previous contents
Nächste Seite: Grafik in JAPI Aufwärts: Die Listener Vorherige Seite: Key Listener   Inhalt


Focus Listener

Ein Focuslistener überwacht ein Objekt, ob es den Focus verliert oder bekommt. Mit entsprechenden Funktionen kann bei Bedarf einem Objekt der Focus zurückgegeben werden. Das Objekt, das den Focus besitzt, bekommt die Eingaben der Tastatur zugeordnet. Daher ist ein Focuslistener oft in Verbindung mit einem Keylistener zu verwenden. Das folgende Beispiel sorgt dafür, das der Dritte Button niemals den Focus bekommt, und somit auch nie durch die Lerrtaste aktiviert werden kann:


    /* Example focuslistener.c */ 
    
    :
    button1=j_button(frame,"Button 1");
    button2=j_button(frame,"Button 2");
    button3=j_button(frame,"Button 3");

    focuslst=j_focuslistener(button3);
    :
    while((obj=j_nextaction())!=frame)
    {
        if(obj == focuslst)
            if(j_hasfocus(focuslst))
                j_setfocus(button2);
    }
    :

Nach dem Erzeugen der drei Buttons wird zunächst ein Focislistener an den dritten Button gebunden:


    focuslst=j_focuslistener(button3);

Die Focus liefern sowohl bei Verlust, als auch bei Erlangen des Focus mit einem Event. Ob ein Objekt nun den Focus hat oder nicht, ist mit der Funktion


    j_hasfocus(focuslst)

zu erfragen. Die Funktion liefert J_TRUE zurück, wenn das Objekt den Focus hat, und bei Verlust entsprechend J_FALSE. Mit der Prozedur


    j_setfocus(button2)

kann einem Objekt der Focus aufgezwungen werden. Im Beispielprogramm verhalten sich die beiden ersten Button zunächst ganz normal. Wird einer dieser Button angeklickt, so erhält er auch den Focus, und kann dann auch mit der Leertaste ''gedrückt'' werden. Wird jedoch der dritte Button angeklickt, so wird diesem sofort der Focus entzogen, und dem mittleren Button zugeordnet. Somit kann der dritte Button niemals mit der Tastatur bedient werden.

Abbildung: Beispielprogramm für den Einsatz eines Focuslistener. Sobald der dritte Button gedrückt wurde, wird der Focus sofort den mittleren Button zugeordnet.
focuslistener.eps


next up previous contents
Nächste Seite: Grafik in JAPI Aufwärts: Die Listener Vorherige Seite: Key Listener   Inhalt
Merten Joost 2003-02-26