Zoeken…


Radioknoppen maken

Met keuzerondjes kunt u de gebruiker één element van de gegeven elementen laten kiezen. Er zijn twee manieren om een RadioButton te declareren met een tekst ernaast. Ofwel door de standaardconstructor RadioButton() en de tekst in te stellen met de methode setText(String) of door de andere constructor RadioButton(String) .

RadioButton radioButton1 = new RadioButton();
radioButton1.setText("Select me!");
RadioButton radioButton2= new RadioButton("Or me!");

Aangezien RadioButton een extensie van Labeled is, kan er ook een Image opgegeven voor de RadioButton . Nadat u de RadioButton met een van de constructors hebt gemaakt, voegt u eenvoudig de Image met de setGraphic(ImageView) -methode zoals hier:

Image image = new Image("ok.jpg");
RadioButton radioButton = new RadioButton("Agree");
radioButton.setGraphic(new ImageView(image));

Gebruik groepen op keuzerondjes

Een ToggleGroup wordt gebruikt om de RadioButton s te beheren, zodat slechts één in elke groep per keer kan worden geselecteerd.

Maak een eenvoudige ToggleGroup als volgt:

ToggleGroup group = new ToggleGroup();

Na het maken van een Togglegroup kan deze worden toegewezen aan de RadioButton s met behulp van setToggleGroup(ToggleGroup) . Gebruik setSelected(Boolean) om een van de RadioButton 's vooraf te selecteren.

RadioButton radioButton1 = new RadioButton("stackoverlow is awesome! :)");
radioButton1.setToggleGroup(group);
radioButton1.setSelected(true);

RadioButton radioButton2 = new RadioButton("stackoverflow is ok :|");
radioButton2.setToggleGroup(group);

RadioButton radioButton3 = new RadioButton("stackoverflow is useless :(");
radioButton3.setToggleGroup(group);

Evenementen voor keuzerondjes

Gewoonlijk voert de toepassing een actie uit wanneer een van de RadioButton 's in een ToggleGroup is geselecteerd. Hieronder ziet u een voorbeeld dat de gebruikersgegevens van de geselecteerde RadioButton afdrukt die zijn ingesteld met setUserData(Object) .

radioButton1.setUserData("awesome")
radioButton2.setUserData("ok");
radioButton3.setUserData("useless");

ToggleGroup group = new ToggleGroup();
group.selectedToggleProperty().addListener((obserableValue, old_toggle, new_toggle) -> {
    if (group.getSelectedToggle() != null) {
        System.out.println("You think that stackoverflow is " + group.getSelectedToggle().getUserData().toString());
    }
});         

Verzoek om focus voor keuzerondjes

Laten we zeggen dat de tweede RadioButton van de drie vooraf is geselecteerd met setSelected(Boolean) , de focus ligt standaard nog steeds op de eerste RadioButton . Gebruik de methode requestFocus() om dit te wijzigen.

radioButton2.setSelected(true);
radioButton2.requestFocus();


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow