javafx
라디오 버튼
수색…
라디오 버튼 만들기
라디오 버튼을 사용하면 사용자가 주어진 요소 중 하나를 선택할 수 있습니다. RadioButton
이외의 텍스트가있는 RadioButton
을 선언하는 두 가지 방법이 있습니다. 기본 생성자 인 RadioButton()
을 사용하고 텍스트를 setText(String)
메서드로 설정하거나 다른 생성자 인 RadioButton(String)
을 사용하여 설정합니다.
RadioButton radioButton1 = new RadioButton();
radioButton1.setText("Select me!");
RadioButton radioButton2= new RadioButton("Or me!");
RadioButton
은 Labeled
의 확장이므로 RadioButton
지정된 Image
도있을 수 있습니다. 생성자 중 하나를 사용하여 RadioButton
을 만든 후 다음과 같이 setGraphic(ImageView)
메서드를 사용하여 Image
를 추가하기 만하면됩니다.
Image image = new Image("ok.jpg");
RadioButton radioButton = new RadioButton("Agree");
radioButton.setGraphic(new ImageView(image));
라디오 버튼에서 그룹 사용
ToggleGroup
은 RadioButton
을 관리하여 매번 하나씩 각 그룹에서 하나씩 만 선택할 수 있도록합니다.
다음과 같이 간단한 ToggleGroup
만듭니다.
ToggleGroup group = new ToggleGroup();
Togglegroup
만든 후에는 setToggleGroup(ToggleGroup)
을 사용하여 RadioButton
할당 할 수 있습니다. 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);
라디오 버튼 이벤트
일반적으로 ToggleGroup
의 RadioButton
중 하나를 선택하면 응용 프로그램에서 작업을 수행합니다. 다음은 setUserData(Object)
로 설정된 선택된 RadioButton
의 사용자 데이터를 인쇄하는 예제입니다.
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();