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