packagejavaseniorprograme;importjavafx.application.Application;importjavafx.geometry.Insets;importjavafx.geometry.Pos;importjavafx.scene.Scene;importjavafx.scene.control.RadioButton;importjavafx.scene.control.ToggleGroup;importjavafx.scene.layout.BorderPane;importjavafx.scene.layout.HBox;importjavafx.scene.layout.Pane;importjavafx.scene.paint.Color;importjavafx.scene.shape.Circle;importjavafx.scene.shape.Rectangle;importjavafx.scene.text.Text;importjavafx.stage.Stage;/*** 交通信号灯
*@author李安国*/
public class Exercise16_03 extendsApplication{
@Overridepublic voidstart(Stage stage){//创建一个矩形,初始化位置
Rectangle rec = new Rectangle(215,10,70,200);
rec.setStroke(Color.BLACK);
rec.setFill(Color.WHITE);//创建三个圆形,初始化位置
Circle c1 = new Circle(250,45,30,Color.WHITE);
Circle c2= new Circle(250,110,30,Color.WHITE);
Circle c3= new Circle(250,175,30,Color.WHITE);
c1.setStroke(Color.BLACK);
c2.setStroke(Color.BLACK);
c3.setStroke(Color.BLACK);//创建三个单选按钮
RadioButton rb1 = newRadioButton();
RadioButton rb2= newRadioButton();
RadioButton rb3= newRadioButton();
ToggleGroup tg= newToggleGroup();
rb1.setToggleGroup(tg);
rb2.setToggleGroup(tg);
rb3.setToggleGroup(tg);
rb1.setSelected(true);
rb1.setOnMouseClicked(e->{
c1.setFill(Color.RED);
c1.setStroke(Color.WHITE);
c2.setFill(Color.WHITE);
c3.setFill(Color.WHITE);
c2.setStroke(Color.BLACK);
c3.setStroke(Color.BLACK);
});
rb2.setOnMouseClicked(e->{
c2.setFill(Color.YELLOW);
c2.setStroke(Color.WHITE);
c1.setFill(Color.WHITE);
c3.setFill(Color.WHITE);
c1.setStroke(Color.BLACK);
c3.setStroke(Color.BLACK);
});
rb3.setOnMouseClicked(e->{
c3.setFill(Color.GREEN);
c3.setStroke(Color.WHITE);
c2.setFill(Color.WHITE);
c1.setFill(Color.WHITE);
c2.setStroke(Color.BLACK);
c1.setStroke(Color.BLACK);
});//创建三个文本
Text t1 = new Text("Red");
Text t2= new Text("Yellow");
Text t3= new Text("Green");//创建一个HBox
HBox hbox = newHBox();
hbox.setSpacing(10);
hbox.setAlignment(Pos.CENTER);
hbox.getChildren().addAll(rb1,t1,rb2,t2,rb3,t3);//创建一个Pane
Pane pa = newPane();
pa.getChildren().addAll(rec,c1,c2,c3);//创建一个BorderPane
BorderPane pane = newBorderPane();
pane.setCenter(pa);
pane.setBottom(hbox);
Scene scene= new Scene(pane,500,300);
stage.setTitle("Exercise16_03");
stage.setScene(scene);
stage.show();
}/***@paramargs
* main方法*/
public static voidmain(String[] args){
Application.launch(args);
}
}