Radiobutton

(Weitergeleitet von Optionsfeld)

Ein Radiobutton (auch Optionsfeld, fälschlicherweise auch Mehrfachoptionsfeld oder Optionsschaltfläche) ist ein Steuerelement grafischer Benutzeroberflächen, das der Auswahl genau einer Option aus mehreren dient.

Radiobuttons in Java

FunktionsweiseBearbeiten

 
Ein Radio mit mehreren Radiobuttons.
 
Röhrenradio von 1954. Das Drücken einer Taste löst die zuvor eingerastete Taste und bewirkt damit das Umschalten zu einem anderen Klangfilter oder Wellenbereich.

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  ) und markiert (mit einem Punkt in der Mitte  ). 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.

Der Name Radiobutton kommt daher, weil dieses Verhalten den mechanischen Tasten ähnelt, die es früher häufig bei Radiogeräten gab. Wird eine dieser Tasten gedrückt, rastet sie ein und gleichzeitig wird die bisher gedrückte Taste gelöst.

Am Computer muss der Auswahlvorgang in der Regel durch Mausklick auf eine Schaltfläche zur Bestätigung abgeschlossen werden.

AbgrenzungBearbeiten

Die ähnlich gestalteten Checkboxen erlauben nicht nur die Auswahl eines Punktes der Liste, sondern beliebig vieler.

ProgrammierungBearbeiten

In den meist hierarchisch aufgebauten GUI-Toolkits schließen sich diejenigen Radiobuttons gegenseitig aus, die derselben, meist durch einen beschrifteten Rahmen visualisierten Gruppe zugeordnet wurden (siehe Bildschirmfoto). Für die Einbindung auf Webseiten lassen sich Radiobuttons in HTML mit mehreren input-Elementen vom Typ radio erzeugen (zum Beispiel <input type="radio" name="farbe" value="rot" />). Zusammengehörende und sich damit gegenseitig ausschließende Radiobuttons müssen dabei mit demselben Namen gekennzeichnet werden. XForms nutzt Radiobuttons zur Darstellung von select1-Elementen, wenn das vollständige Erscheinungsbild (appearance="full") gewählt wurde.

C#Bearbeiten

Das folgende Beispiel in der Programmiersprache C# zeigt die Implementierung eines Fensters mit Radiobuttons und einem Textfeld. Das Klick-Ereignis der Radiobuttons ist mit einer Ereignisbehandlungsroutine verknüpft, die die Beschriftung des ausgewählten Radiobuttons als Text in dem Textfeld auswählt (siehe Ereignis).[1]

using System.Windows.Forms;

public class MainForm : System.Windows.Forms.Form
{
	private System.Windows.Forms.CheckBox[] checkBoxes;
	private System.Windows.Forms.TextBox outputTextBox;
	
	// Konstruktor des MainForms.
	public MainForm()
	{
		InitializeRadioButtonsAndTextBox();
	}
	
	// Startet die Anwendung und erzeugt das MainForm durch Aufruf des Konstruktors.
    public static void Main()
    {
        Application.Run(new MainForm());
    }
	
	// Initialisiert die Radiobuttons und das Textfeld.
	private void InitializeRadioButtonsAndTextBox()
	{
		// Erzeugt 3 Radiobuttons und ein Textfeld durch Aufruf der Standardkonstruktoren.
		
		int radioButtonsCount = 3;
		radioButtons = new RadioButton[radioButtonsCount]; // Erzeugt ein Array von Radiobuttons.
		
		SuspendLayout();
		
		groupBox = new GroupBox();
		
		// Diese for Schleife initialisiert die einzelnen Radiobuttons des Arrays und fügt sie dem GroupBox hinzu.
		for (int i = 0; i < radioButtonsCount; i++)
		{
			RadioButton newRadioButton = new RadioButton();
			newRadioButton.Location = new System.Drawing.Point(50, 25 * i + 50);
			newRadioButton.Width = 200;
			newRadioButton.Click += new EventHandler(NewRadioButton_Clicked); // Verknüpft die Ereignisbehandlungsmethode jeweils mit dem Klick-Ereignis SelectedIndexChanged der Listenfelder.
			groupBox.Controls.Add(newRadioButton);
			radioButtons[i] = newRadioButton;
		}
		radioButtons[0].Text = "Normal";
		radioButtons[1].Text = "Erweitert";
		radioButtons[2].Text = "Regulärer Ausdruck";
		
		groupBox.Size = new System.Drawing.Size(Width, 150);
		groupBox.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top;
		Controls.Add(groupBox);
		
		outputTextBox = new TextBox();
		outputTextBox.Location = new System.Drawing.Point(50, 25 * radioButtonsCount + 100);
		outputTextBox.Size = new System.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 MainForms.
		
		ResumeLayout(false);
		PerformLayout();
	}
	
	// Diese Methode wird aufgerufen, wenn der Benutzer auf einen Radiobuttons klickt.
	private void NewRadioButton_Clicked(object sender, System.EventArgs e)
	{
		// Setzt den Text in der Textbox auf die Beschriftung des ausgewählten Radiobuttons.
		RadioButton radioButton = (RadioButton) sender; // Typumwandlung der Variable sender vom Typ object in den abgeleiteten Typ RadioButton
		outputTextBox.Text = radioButton.Text;
	}
}

Siehe auchBearbeiten

WeblinksBearbeiten

Wiktionary: Radiobutton – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen

EinzelnachweiseBearbeiten

  1. Microsoft Docs: RadioButton Class