天天看点

2021.8.10 学习总结

学习Javafx组件

HBox:水平布局

VBox:垂直布局

该组件中子组件可使用其方法 setSpacing 设置这两个容器中的子组件之间的间距。

但是其长宽不可动态变化,在设置后即固定。

FlowPane:流式布局

其可看作为一个可动态变化长宽的类VBox或HBox的布局,其会根据其子组件的数量自行延展。可以使用 setOrientation 方法对其子组件的排列方式进行设置(水平或垂直),同样也可使用 setHgap 或 setVgap 方法分别对其子组件间的间距进行设置。

测试动态构建主界面

2021.8.10 学习总结
public class UpData {
    public void upViewData(User user, FriendList friendList) {
        Platform.runLater(() -> {
            System.out.println("3");
            Parent root = rootArrays.get("mainView");
            ImageView headpic = (ImageView) root.lookup("#propicture");
            FileInputStream fis = null;
            try {
                fis = new FileInputStream(user.getFpropivture());
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            headpic.setImage(new Image(fis));
            headpic.setOnMouseClicked(new EventHandler<MouseEvent>() {
                @Override
                public void handle(MouseEvent event) {
                    System.out.println("查看资料!");
                }
            });

            FlowPane Flist = (FlowPane) root.lookup("#friendList");
            Flist.setPadding(new Insets(10));
            Flist.setVgap(10.0);
            for(String name : friendList.getList()) {
                Text friendName = new Text(name);
                HBox box = new HBox();
                box.getChildren().add(friendName);
                Flist.getChildren().add(box);
            }
        });
    }
}

           

主要是卡在如何将用户信息(头像、好友等)参数传递给前端程序,以及如何对其中的一些组件进行更新。目前还未想到有效方法…继续边学边想吧…

梳理之前所写的业务流程,构思之后的思路

继续阅读