Java基础14–JavaFX基础一
前言
本文主要展示JavaFX的一部分基础知识,以导图的模式,无详细内容
导图
关键源码
1.
@Override
public void start(Stage primaryStage){
/**
* getChildren()方法返回javafx.collections.ObservableList的实例
* ObservableList类似ArrayList,存储元素集合
* add()添加元素
* StackPane将结点置于面板中央,并置于其他结点之上
*/
StackPane pane = new StackPane();
pane.getChildren().add(new Button("Hello"));
// 上面两行代码可以用下面一行代码代替
// StackPane pane = new StackPane(new Button("Hello"));
Scene scene = new Scene(pane);
primaryStage.setTitle("pane中的Button");
primaryStage.setScene(scene);
primaryStage.show();
}
2.
@Override
public void start(Stage primaryStage){
Circle circle = new Circle();
circle.setCenterX(100);
circle.setCenterY(100);
circle.setRadius(50);
circle.setStroke(Color.BLACK);
circle.setFill(Color.WHITE);
Pane pane = new Pane();
pane.getChildren().add(circle);
Scene scene = new Scene(pane,200,200);
primaryStage.setTitle("圆");
primaryStage.setScene(scene);
primaryStage.setResizable(false);
primaryStage.show();
}
3.
@Override
public void start(Stage primaryStage){
Pane pane = new Pane();
Circle circle = new Circle();
circle.centerXProperty().bind(pane.widthProperty().divide(2));
circle.centerYProperty().bind(pane.heightProperty().divide(2));
circle.setRadius(50);
circle.setStroke(Color.BLACK);
circle.setFill(Color.WHITE);
pane.getChildren().add(circle);
Scene scene = new Scene(pane,200,200);
primaryStage.setTitle("Center 圆");
primaryStage.setScene(scene);
primaryStage.show();
}
4.
@Override
public void start(Stage primaryStage){
StackPane pane = new StackPane();
Button button = new Button("Hello");
button.setStyle("-fx-border-color:blue");
pane.getChildren().add(button);
button.setRotate(45);
pane.setScaleX(1);
pane.setStyle("-fx-border-color:red;-fx-background-color:lightgray");
System.out.println(pane.contains(0,0));
Scene scene = new Scene(pane,200,250);
primaryStage.setTitle("jiandan");
primaryStage.setScene(scene);
primaryStage.show();
}
5.
@Override
public void start(Stage primaryStage){
Pane pane = new StackPane();
Circle circle = new Circle();
circle.setRadius(50);
circle.setStroke(Color.BLACK);
circle.setFill(new Color(0.5,0.5,0.5,0.4));
Label label = new Label("JavaFX");
label.setFont(Font.font("Times New Roman", FontWeight.BOLD, FontPosture.ITALIC,20));
// 先添加者在底层,后者居上
pane.getChildren().add(circle);
pane.getChildren().add(label);
Scene scene = new Scene(pane,200,250);
primaryStage.setTitle("jiandan");
primaryStage.setScene(scene);
primaryStage.show();
}
6.
@Override
public void start(Stage primaryStage){
Pane pane = new HBox(10);
pane.setPadding(new Insets(5,5,5,5));
Image image = new Image("fourteen/image/guzhang.gif");
pane.getChildren().add(new ImageView(image));
ImageView imageview2 = new ImageView(image);
imageview2.setFitHeight(100);
imageview2.setFitWidth(100);
imageview2.setRotate(45);
pane.getChildren().add(imageview2);
Scene scene = new Scene(pane);
primaryStage.setTitle("jiandan");
primaryStage.setScene(scene);
primaryStage.show();
}