import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.RadioButton;
import javafx.scene.control.ToggleGroup;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public class buttonGUI extends Application {
protected Text text =new Text(50,50,"Homework3");
protected BorderPane getPane(){
//下面代码是按钮控制移动字体代码
HBox paneForButtons = new HBox(20);
Button btleft =new Button("<=");
Button btright = new Button("=>");
paneForButtons.getChildren().addAll(btleft,btright);
paneForButtons.setAlignment(Pos.CENTER);
paneForButtons.setStyle("-fx-border-color: green");
BorderPane pane =new BorderPane();
pane.setBottom(paneForButtons);
Pane paneForText =new Pane();
paneForText.getChildren().add(text);
pane.setCenter(paneForText);
btleft.setOnAction(e-> text.setX(text.getX()-10));
btright.setOnAction(e->text.setX(text.getX()+10));
//下面代码是用按钮控制字体颜色
HBox paneForRadioButtons=new HBox(20);
paneForRadioButtons.setPadding(new Insets(5,5,5,5));
RadioButton rbRed =new RadioButton("Red");
RadioButton rbYellow = new RadioButton("Yellow");
RadioButton rbBlack =new RadioButton("Black");
RadioButton rbOrange =new RadioButton("Orange");
RadioButton rbGreen =new RadioButton("Green");
paneForRadioButtons.getChildren().addAll(rbRed,rbYellow,rbBlack,rbOrange,rbGreen);
paneForRadioButtons.setAlignment(Pos.CENTER);
pane.setTop(paneForRadioButtons);
ToggleGroup group =new ToggleGroup();
rbRed.setToggleGroup(group);
rbYellow.setToggleGroup(group);
rbBlack.setToggleGroup(group);
rbOrange.setToggleGroup(group);
rbGreen.setToggleGroup(group);
rbRed.setOnAction(e->{
if(rbRed.isSelected()){
text.setFill(Color.RED);
}
});
rbYellow.setOnAction(e->{
if(rbYellow.isSelected()){
text.setFill(Color.YELLOW);
}
});
rbBlack.setOnAction(e->{
if(rbBlack.isSelected()){
text.setFill(Color.BLACK);
}
});
rbOrange.setOnAction(e->{
if(rbOrange.isSelected()){
text.setFill(Color.ORANGE);
}
});
rbGreen.setOnAction(e->{
if(rbGreen.isSelected()){
text.setFill(Color.GREEN);
}
});
return pane;
}
@Override
public void start(Stage primaryStage){
Scene scene = new Scene(getPane(),450,200);
primaryStage.setTitle("Homework");
primaryStage.setScene(scene);
primaryStage.show();
}
}
编写一个 GUI 程序如图16- 36a 所示。可以使用按钮将消息进行左右移动,并且使用单选按钮来修改消息显示的颜色。
最新推荐文章于 2022-04-26 00:00:00 发布