Recherche…


Création de boutons radio

Les boutons radio permettent à l'utilisateur de choisir un élément parmi ceux donnés. Il existe deux manières de déclarer un RadioButton avec un texte à côté de lui. Soit en utilisant le constructeur par défaut RadioButton() et en définissant le texte avec la setText(String) ou en utilisant l'autre constructeur RadioButton(String) .

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

Comme RadioButton est une extension de Labeled il peut également y avoir une Image spécifiée pour RadioButton . Après avoir créé le RadioButton avec l'un des constructeurs, ajoutez simplement la méthode Image avec la setGraphic(ImageView) comme ici:

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

Utiliser des groupes sur les boutons radio

Un groupe ToggleGroup est utilisé pour gérer les ToggleGroup RadioButton manière à ce qu’un seul groupe soit sélectionné à chaque fois.

Créez un simple ToggleGroup comme suit:

ToggleGroup group = new ToggleGroup();

Après avoir créé un groupe Togglegroup il peut être assigné à RadioButton en utilisant setToggleGroup(ToggleGroup) . Utilisez setSelected(Boolean) pour présélectionner l'un des s RadioButton .

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);

Événements pour les boutons radio

Généralement, lorsque l'un des ToggleGroup RadioButton d'un groupe ToggleGroup est sélectionné, l'application exécute une action. Voici un exemple qui imprime les données utilisateur du RadioButton sélectionné qui a été défini avec 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());
    }
});         

Demande de focus pour les boutons radio

Disons que le second RadioButton sur trois est présélectionné avec setSelected(Boolean) , le focus est toujours au premier RadioButton par défaut. Pour changer cela, utilisez la méthode requestFocus() .

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


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow