Die Anleitung zu JavaFX RadioButton
View more Tutorials:
RadioButton ist eine aus ToggleButton ausgeweitertern class. Wie ToggleButton hat Radio Button 2 Status : gewählt und nichtgewählt. Wenn die RadioButton in einer Gruppe kombiniert werden, wird nur ein Radio Button maximal in einer Zeitpunkt gewählt. Aber es gibt ein Unterschied mit ToggleButton. Das sind : Der Benutzer kann nur ein RadioButton nicht gewählt, indem er ein anderes RadioButton in der gleichen Gruppe wählt.
ToggleButton:

RadioButton:

// Group ToggleGroup group = new ToggleGroup(); // Radio 1: Male RadioButton button1 = new RadioButton("Male"); button1.setToggleGroup(group); button1.setSelected(true); // Radio 3: Female. RadioButton button2 = new RadioButton("Female"); button2.setToggleGroup(group);
Sie können die Icons für RadioButton mittels der Methode setGraphic. setzen

InputStream is1 = getClass().getResourceAsStream("/org/o7planning/javafx/icon/male-16.png"); Image img1= new Image(is1); radioButton.setGraphic(new ImageView(img1));


RadioButtonDemo.java
package org.o7planning.javafx.radiobutton; import javafx.application.Application; import javafx.geometry.Insets; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.control.RadioButton; import javafx.scene.control.ToggleGroup; import javafx.scene.layout.HBox; import javafx.stage.Stage; public class RadioButtonDemo extends Application { @Override public void start(Stage stage) { Label label = new Label("Your Gender: "); // Group ToggleGroup group = new ToggleGroup(); // Radio 1: Male RadioButton button1 = new RadioButton("Male"); button1.setToggleGroup(group); button1.setSelected(true); // Radio 3: Female. RadioButton button2 = new RadioButton("Female"); button2.setToggleGroup(group); HBox root = new HBox(); root.setPadding(new Insets(10)); root.setSpacing(5); root.getChildren().addAll(label, button1, button2); Scene scene = new Scene(root, 400, 150); stage.setScene(scene); stage.setTitle("JavaFX RadioButton (o7planning.org)"); scene.setRoot(root); stage.show(); } public static void main(String[] args) { launch(args); } }
In einzelnen wird die Applikation ein Task wenn einer der RadioButton in der Gruppe gewählt wird

RadioButtonEventDemo.java
package org.o7planning.javafx.radiobutton; import javafx.application.Application; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.geometry.Insets; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.control.RadioButton; import javafx.scene.control.Toggle; import javafx.scene.control.ToggleGroup; import javafx.scene.image.Image; import javafx.scene.layout.HBox; import javafx.scene.paint.Color; import javafx.stage.Stage; @SuppressWarnings("unused") public class RadioButtonEventDemo extends Application { @Override public void start(Stage stage) { Label label = new Label("Your Gender: "); Label labelInfo = new Label(); labelInfo.setTextFill(Color.BLUE); // Group ToggleGroup group = new ToggleGroup(); group.selectedToggleProperty().addListener(new ChangeListener<Toggle>() { @Override public void changed(ObservableValue<? extends Toggle> ov, Toggle old_toggle, Toggle new_toggle) { // Has selection. if (group.getSelectedToggle() != null) { RadioButton button = (RadioButton) group.getSelectedToggle(); System.out.println("Button: " + button.getText()); labelInfo.setText("You are " + button.getText()); } } }); // Radio 1: Male RadioButton button1 = new RadioButton("Male"); button1.setToggleGroup(group); button1.setSelected(true); // Radio 2: Female. RadioButton button2 = new RadioButton("Female"); button2.setToggleGroup(group); HBox root = new HBox(); root.setPadding(new Insets(10)); root.setSpacing(5); root.getChildren().addAll(label, button1, button2, labelInfo); Scene scene = new Scene(root, 400, 150); stage.setScene(scene); stage.setTitle("JavaFX RadioButton (o7planning.org)"); scene.setRoot(root); stage.show(); } public static void main(String[] args) { launch(args); } }