Поиск…


Создание кнопок радиосвязи

Кнопки «Радио» позволяют вам выбрать один элемент из указанных. Существует два способа объявить RadioButton с текстом, кроме него. Либо используя конструктор по умолчанию RadioButton() установив текст с помощью метода setText(String) или используя другой конструктор RadioButton(String) .

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

Поскольку RadioButton является расширением Labeled также может быть Image указанное в RadioButton . После создания RadioButton с одним из конструкторов просто добавьте Image с помощью setGraphic(ImageView) как здесь:

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

Использовать группы на радио-кнопках

ToggleGroup используется для управления RadioButton s, так что каждый раз в каждой группе может быть выбран один.

Создайте простую ToggleGroup как ToggleGroup ниже:

ToggleGroup group = new ToggleGroup();

После создания Togglegroup его можно назначить на RadioButton s, используя setToggleGroup(ToggleGroup) . Используйте setSelected(Boolean) для предварительного выбора одного из 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);

События для радиоустройств

Как правило, когда один из RadioButton s в ToggleGroup выбран, приложение выполняет действие. Ниже приведен пример, который печатает пользовательские данные выбранного RadioButton который был установлен с помощью 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());
    }
});         

Запрос фокуса для кнопок радио

Предположим, что второй RadioButton из трех предварительно выбран с помощью setSelected(Boolean) , фокус по-прежнему находится на первом RadioButton по умолчанию. Чтобы изменить это, используйте метод requestFocus() .

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


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow