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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow