javafx
Przycisk radiowy
Szukaj…
Tworzenie przycisków radiowych
Przyciski opcji pozwalają użytkownikowi wybrać jeden z podanych elementów. Istnieją dwa sposoby zadeklarowania RadioButton z tekstem oprócz niego. Albo używając domyślnego konstruktora RadioButton() i ustawiając tekst za pomocą metody setText(String) lub używając innego konstruktora RadioButton(String) .
RadioButton radioButton1 = new RadioButton();
radioButton1.setText("Select me!");
RadioButton radioButton2= new RadioButton("Or me!");
Ponieważ RadioButton jest rozszerzeniem Labeled w RadioButton można również określić Image . Po utworzeniu RadioButton pomocą jednego z konstruktorów wystarczy dodać Image pomocą metody setGraphic(ImageView) , jak tutaj:
Image image = new Image("ok.jpg");
RadioButton radioButton = new RadioButton("Agree");
radioButton.setGraphic(new ImageView(image));
Używaj grup na przyciskach radiowych
ToggleGroup służy do zarządzania przyciskami RadioButton dzięki czemu można wybrać tylko jeden w każdej grupie za każdym razem.
Utwórz prostą ToggleGroup następujący sposób:
ToggleGroup group = new ToggleGroup();
Po utworzeniu Togglegroup można go przypisać do RadioButton za pomocą setToggleGroup(ToggleGroup) . Użyj setSelected(Boolean) aby wstępnie wybrać jeden z przycisków 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);
Wydarzenia dla przycisków radiowych
Zazwyczaj po wybraniu jednego z przycisków RadioButton w ToggleGroup aplikacja wykonuje akcję. Poniżej znajduje się przykład, w którym drukowane są dane użytkownika wybranego RadioButton który został ustawiony za pomocą 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());
}
});
Żądanie skupienia się na przyciskach radiowych
Powiedzmy, że drugi z trzech RadioButton jest wstępnie wybrany za pomocą setSelected(Boolean) , domyślnie fokus jest nadal ustawiony na pierwszym RadioButton . Aby to zmienić, użyj metody requestFocus() .
radioButton2.setSelected(true);
radioButton2.requestFocus();