next up previous contents
Nächste Seite: Choice Aufwärts: Die Komponenten Vorherige Seite: Checkbox   Inhalt


Radiobutton

Abbildung: Beispiel für die Programmierung von Radiobuttons
radiobutton.eps

Radiobutton unterscheiden sich kaum von den Checkboxen. Sie besitzen ebenfalls ein Label mit einem Textelement, und eine graphische Anzeige, die den Zustand des Buttons anzeigt. Radiobutton unterscheiden sich insofern von den Checkboxen, indem Radiobuttons einer Radiogroup zugeordnet werden müssen. Innerhalb einer Radiogroup ist immer nur ein Radiobutton aktiv. Daher auch der Name, der sich von den alten Röhrenradios herleitet, bei denen auch immer nur eine Taste gedrückt sein konnte. Das folgende Beispielprogramm erzeugt drei Buttons. Mit den beiden äußeren Button kann der Zugriff auf den inneren Button gesteuert werden:


    /* Example radiobutton.c */

    :
    int frame,obj;
    int radio;
    int enable,middle,disable;

    if(j_start()<0)
        printf("can't connect to server\n"),exit(0);

    frame = j_frame("Radiobuttons");

    radio=j_radiogroup(frame);

    enable=j_radiobutton(radio,"Enable middle Button");
    j_setpos(enable,120,80);

    middle=j_radiobutton(radio,"Middle Button");
    j_setpos(middle,120,120);

    disable=j_radiobutton(radio,"Disable middle Button");
    j_setpos(disable,120,160);

    j_setstate(enable,J_TRUE);

    j_show(frame);

    /* Waiting for actions */
    while(1)
    {
        obj=j_nextaction();

        if(obj==enable)
            j_enable(middle);
        if(obj==disable)
            j_disable(middle);

        if(obj == frame)
            break;
    }
    j_quit();
    :

Neu sind die Anweisungen :


    radio   = j_radiogroup(frame);
    enable  = j_radiobutton(radio,"Enable middle Button");
    middle  = j_radiobutton(radio,"Middle Button");
    disable = j_radiobutton(radio,"Disable middle Button");

Znächst wird im Frame eine Radiogroup erzeugt, und anschließend drei Buttons hinzugefügt. In der Main Loop wird mit folgenden If Statements


    if(obj==enable)
        j_enable(middle);
    if(obj==disable)
        j_disable(middle);

der mittlere Button enabled oder disabled. Der Zustand des mittleren Button ist im Beispiel ohne Bedeutung, und wird auch nicht abgefragt.


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