初识JavaFX

前言:

一提到Java的图形界面库,我们通常听到的都是Swing,或者更老一点的AWT,包括很多书上面介绍的也都是这两种。很多学校、培训班教学的也是这两种技术。但是其实这两种技术都已经过时很长时间了。Swing虽然学起来也不算很难,但是用它来写界面其实也很不好写。因为它的界面和代码没有做到分离,所以在编写的时候,代码中肯定充斥着大量坐标,修改极其不易。这方面做的比较好的就是微软的WPF,只能说谁用谁知道。

当然,虽然编写客户端图形程序是Java的弱项,但是Java并没有放弃这方面的努力。今天介绍的JavaFX就是Java在编写图形界面程序的最新技术。如果你准备使用Java编写图形界面程序,又没有历史包袱,那么强烈推荐使用JavaFX。

JavaFX 提供一下类别,均集成自 javafx.scene.layout.Pane

javafx.scene.layout.AnchorPane
javafx.scene.layout.BorderPane
javafx.scene.layout.FlowPane
javafx.scene.layout.GridPane
javafx.scene.layout.HBox
javafx.scene.layout.StackPane
javafx.scene.layout.TilePane
javafx.scene.layout.VBox

AnchorPane

AnchorPane 的用法和名字Anchor(锚点)的意思很接近。
用下列方法设置AnchorPane各区域与组件之间的距离。
//上方与组件的距离
setTopAnchor()
//上方与组件的距离
setBottomAnchor()
//左方与组件的距离
setLeftAnchor()
//右方与组件的距离
setRightAnchor()
下面以topAnchor,bottomAnchor,leftAnchor,rightAnchor表示方位距离。无论窗体如何变化,组件所定的相对位置不会变化。

image.png

如下图开发程序:

@Override
public void start(Stage primaryStage) throws Exception {
    primaryStage.setTitle("AnchorPane Demo");
    //定义btn1
    Button btn1 = new Button("Button01");
    btn1.setPrefSize(100, 30);

    //设置间隔
    AnchorPane.setTopAnchor(btn1, 50.0);
    AnchorPane.setLeftAnchor(btn1, 50.0);

    //定义btn2
    Button btn2 = new Button("Button02");
    btn2.setPrefSize(100, 30);
    //设置间隔
    AnchorPane.setBottomAnchor(btn2, 50.0);
    AnchorPane.setRightAnchor(btn2, 50.0);

    //定义AnchorPane,添加node
    AnchorPane anchorPane = new AnchorPane();
    anchorPane.getChildren().addAll(btn1, btn2);

    //定义scene
    Scene scene = new Scene(anchorPane);

    //设置主界面
    primaryStage.setScene(scene);
    primaryStage.setWidth(500);
    primaryStage.setHeight(500);
    primaryStage.show();
}

public static void main(String[] args) {
    launch(args);
}
image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容