javafx
Pulsante radio
Ricerca…
Creazione di pulsanti radio
I pulsanti di scelta consentono all'utente di scegliere un elemento tra quelli indicati. Esistono due modi per dichiarare un RadioButton
con un testo oltre a esso. O utilizzando il costruttore predefinito RadioButton()
e impostando il testo con il setText(String)
o utilizzando l'altro costruttore RadioButton(String)
.
RadioButton radioButton1 = new RadioButton();
radioButton1.setText("Select me!");
RadioButton radioButton2= new RadioButton("Or me!");
Poiché RadioButton
è un'estensione di Labeled
, può anche esserci Image
specificata per RadioButton
. Dopo aver creato il RadioButton
con uno dei costruttori, aggiungi semplicemente l' Image
con il setGraphic(ImageView)
come qui:
Image image = new Image("ok.jpg");
RadioButton radioButton = new RadioButton("Agree");
radioButton.setGraphic(new ImageView(image));
Utilizza i gruppi sui pulsanti di opzione
Un gruppo ToggleGroup
viene utilizzato per gestire i RadioButton
modo che sia possibile selezionare solo uno in ciascun gruppo in ogni momento.
Crea un semplice ToggleGroup
come segue:
ToggleGroup group = new ToggleGroup();
Dopo aver creato un Togglegroup
, può essere assegnato ai RadioButton
usando setToggleGroup(ToggleGroup)
. Usa setSelected(Boolean)
per preselezionare uno dei 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);
Eventi per i pulsanti radio
In genere, quando viene selezionato uno dei RadioButton
in un gruppo ToggleGroup
l'applicazione esegue un'azione. Di seguito è riportato un esempio che stampa i dati utente del RadioButton
selezionato che è stato impostato con 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());
}
});
Richiesta di messa a fuoco per pulsanti di opzione
Diciamo che il secondo RadioButton
su tre è pre-selezionato con setSelected(Boolean)
, lo stato setSelected(Boolean)
è ancora al primo RadioButton
per impostazione predefinita. Per cambiarlo usa il metodo requestFocus()
.
radioButton2.setSelected(true);
radioButton2.requestFocus();