package fx;
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
public class Exercise16_06 extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
TextField text = new TextField("JavaFX"); //文本
HBox centerHBox = new HBox(10, new Label("Text Field"), text); //HBox对象
centerHBox.setAlignment(Pos.CENTER); //居中对齐
TextField columnSize = new TextField(); //列数
columnSize.setPrefColumnCount(3); //设置首选列数
columnSize.setAlignment(Pos.BOTTOM_RIGHT); //底部右对齐
RadioButton left = new RadioButton("Left"); //单选按钮
RadioButton center = new RadioButton("Center");
RadioButton right = new RadioButton("Right");
ToggleGroup toggleGroup = new ToggleGroup(); //开关组
left.setToggleGroup(toggleGroup); //按钮设置开关组
center.setToggleGroup(toggleGroup);
right.setToggleGroup(toggleGroup);
left.setOnAction(event -> text.setAlignment(Pos.CENTER_LEFT)); //按钮注册动作事件
center.setOnAction(event -> text.setAlignment(Pos.CENTER));
right.setOnAction(event -> text.setAlignment(Pos.CENTER_RIGHT));
columnSize.setOnAction(event -> {
try {
text.setPrefColumnCount(Integer.parseInt(columnSize.getText()));
} catch (Exception ex) {
}
});
HBox bottomHBox = new HBox(10, left, center, right, new Label(" Column Size"), columnSize);
bottomHBox.setAlignment(Pos.CENTER);
BorderPane pane = new BorderPane(centerHBox);
pane.setBottom(bottomHBox);
pane.setPadding(new Insets(5));
pane.getCenter().setStyle("-fx-padding: 5px;");
Scene scene = new Scene(pane);
primaryStage.setScene(scene);
primaryStage.setTitle("Exercise16_06");
primaryStage.show();
}
}