Radiobutton

EinRadiobutton (auchOptionsfeld, fälschlicherweise auchMehrfachoptionsfeld oderOptionsschaltfläche) ist einSteuerelementgrafischer Benutzeroberflächen, das der Auswahl genau einer Option aus mehreren dient.
Funktionsweise
[Bearbeiten |Quelltext bearbeiten]Radiobuttons sind meist unter-, manchmal auch nebeneinander angeordnete kleine Kreise, gefolgt von kurzen Beschreibungstexten. Die Kreise können zwei Zustände annehmen:nicht markiert (leer) undmarkiert (mit einem Punkt in der Mitte
).Zeichenorientierte Benutzeroberflächen (TUI) stellen den markierten Zustand in der Regel als
(•)
und den nicht markierten Zustand als( )
dar.[1] Von mehreren Radiobuttons einer Gruppe kann immer nur einer markiert werden. Sobald ein Radiobutton markiert wird, wird eine eventuell vorhandene Markierung eines anderen Radiobuttons derselben Gruppe gelöscht. Der Initialzustand kann entweder sein, dass ein bestimmter oder kein einziger Radiobutton vorgewählt ist. Ob es, wenn ein Radiobutton markiert ist, möglich ist, die Gruppe wieder in einen Zustand zu bringen, in dem kein einziger Radiobutton markiert ist, hängt von der Implementierung ab.
Wortherkunft
[Bearbeiten |Quelltext bearbeiten]

Der Name Radiobutton kommt daher, weil dieses Verhalten den mechanischenTasten ähnelt, die es früher häufig beiRadiogeräten gab. Wird eine dieser Tasten gedrückt, rastet sie ein und gleichzeitig wird die bisher gedrückte Taste gelöst.
AmComputer muss der Auswahlvorgang in der Regel durchMausklick auf eineSchaltfläche zur Bestätigung abgeschlossen werden.
Abgrenzung
[Bearbeiten |Quelltext bearbeiten]Die ähnlich gestaltetenCheckboxen erlauben nicht nur die Auswahleines Punktes der Liste, sondern beliebig vieler.
Programmierung
[Bearbeiten |Quelltext bearbeiten]In den meist hierarchisch aufgebautenGUI-Toolkits schließen sich diejenigen Optionsfelder gegenseitig aus, die derselben, meist durch einen beschrifteten Rahmen visualisierten Gruppe zugeordnet wurden (siehe Bildschirmfoto).
HTML
[Bearbeiten |Quelltext bearbeiten]Optionsfelder können seitHTML 2.0 inWebseiten mit Hilfe desTags<inputtype="radio">
genutzt werden.[2] Der aktuelle Wert des Optionsfeldes kann über das boolsche Attributchecked
gesetzt und gelesen werden. Seit Version 3.0 können Formularelemente über das boolsche Attributdisabled
deaktiviert werden.[3]Zusammengehörende und sich damit gegenseitig ausschließende Optionsfelder müssen dabei denselben Namen (Attributname
) tragen.
XForms nutzt Optionsfelder zur Darstellung vonselect1
-Elementen, wenn das vollständige Erscheinungsbild (appearance="full"
) gewählt wurde.[4]
Das folgendeC#-Beispiel verdeutlicht die Nutzung derKlasseSystem.Windows.Forms.RadioButton
aus demKomponentenframeworkWindows Forms.[5] Es zeigt die Implementierung einesFensters mit drei Optionsfeldern und einemTextfeld. Das Klick-Ereignis der einzelnen Optionsfelder ist mit einer gemeinsamen Ereignisbehandlungsroutine verknüpft, die die Beschriftung des markierten Optionsfeldes demText des Textfeldes zuweist.
usingSystem.Windows.Forms;publicclassMainForm:System.Windows.Forms.Form{privateSystem.Windows.Forms.RadioButton[]radioButtons;privateSystem.Windows.Forms.TextBoxoutputTextBox;privateSystem.Windows.Forms.GroupBoxgroupBox;// Konstruktor des Hauptfensters.publicMainForm(){InitializeRadioButtonsAndTextBox();}// Startet die Anwendung und erzeugt das Hauptfenster durch Aufruf des Konstruktors.publicstaticvoidMain(){Application.Run(newMainForm());}// Initialisiert die Radiobuttons und das Textfeld.privatevoidInitializeRadioButtonsAndTextBox(){// Erzeugt 3 Radiobuttons und ein Textfeld durch Aufruf der Standardkonstruktoren.intradioButtonsCount=3;radioButtons=newRadioButton[radioButtonsCount];// Erzeugt ein Array von Radiobuttons.SuspendLayout();groupBox=newGroupBox();// Diese for Schleife initialisiert die einzelnen Radiobuttons des Arrays und fügt sie dem GroupBox hinzu.for(inti=0;i<radioButtonsCount;i++){RadioButtonnewRadioButton=newRadioButton();newRadioButton.Location=newSystem.Drawing.Point(50,25*i+50);newRadioButton.Width=200;newRadioButton.Click+=newEventHandler(NewRadioButton_Clicked);// Verknüpft das Klick-Ereignis mit der gemeinsamen Ereignisbehandlungsmethode.groupBox.Controls.Add(newRadioButton);radioButtons[i]=newRadioButton;}radioButtons[0].Text="Normal";radioButtons[1].Text="Erweitert";radioButtons[2].Text="Regulärer Ausdruck";groupBox.Size=newSystem.Drawing.Size(Width,150);groupBox.Anchor=AnchorStyles.Left|AnchorStyles.Right|AnchorStyles.Top;Controls.Add(groupBox);outputTextBox=newTextBox();outputTextBox.Location=newSystem.Drawing.Point(50,25*radioButtonsCount+100);outputTextBox.Size=newSystem.Drawing.Size(200,50);outputTextBox.Multiline=true;// Legt fest, dass das Textfeld mehrere Zeilen haben kann und Zeilenumbrüche ermöglicht.Controls.Add(outputTextBox);Text="Suchen und Ersetzen";// Setzt die Beschriftung des Hauptfensters.ResumeLayout(false);PerformLayout();}// Diese Methode wird aufgerufen, wenn der Benutzer auf einen Radiobutton klickt.privatevoidNewRadioButton_Clicked(objectsender,System.EventArgse){// Setzt den Text in der Textbox auf die Beschriftung des ausgewählten Radiobuttons.RadioButtonradioButton=(RadioButton)sender;// Typumwandlung der Variable sender vom Typ object in den abgeleiteten Typ RadioButtonoutputTextBox.Text=radioButton.Text;}}
Weblinks
[Bearbeiten |Quelltext bearbeiten]- Apple Human Interface Guidelines über Radiobuttons. developer.apple.com (englisch).
- klassische Apps undUWP Apps. Microsoft Design Guidelines über Radiobuttons (englisch).
Einzelnachweise
[Bearbeiten |Quelltext bearbeiten]- ↑Designing Forms >Controls Summary >Option Button Control. In:Microsoft Visual Basic 1.0 for MS-DOS (VBDOS.HLP). Microsoft, 1992 (englisch).
- ↑Tim Berners-Lee, Dan Connolly: RFC:1866 –Hypertext Markup Language – 2.0. November 1995, Abschnitt 8.1.2.4:Radio Button: INPUT TYPE=RADIO. (englisch).
- ↑Dave Raggett: HyperText Markup Language Specification Version 3.0. (TXT; 372 kB) In: w3.org. World Wide Web Consortium, 28. März 1995, S. 130, abgerufen am 12. Mai 2023 (englisch).
- ↑Micah Dubinko et al.: XForms 1.0. The select1 Element. In: w3.org. 14. Oktober 2003, abgerufen am 18. Mai 2023 (englisch).
- ↑RadioButton Class. In: learn.microsoft.com. Microsoft, abgerufen am 12. Mai 2023 (englisch).