学习Javafx组件
HBox:水平布局
VBox:垂直布局
该组件中子组件可使用其方法 setSpacing 设置这两个容器中的子组件之间的间距。
但是其长宽不可动态变化,在设置后即固定。
FlowPane:流式布局
其可看作为一个可动态变化长宽的类VBox或HBox的布局,其会根据其子组件的数量自行延展。可以使用 setOrientation 方法对其子组件的排列方式进行设置(水平或垂直),同样也可使用 setHgap 或 setVgap 方法分别对其子组件间的间距进行设置。
…
测试动态构建主界面
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);
}
});
}
}
主要是卡在如何将用户信息(头像、好友等)参数传递给前端程序,以及如何对其中的一些组件进行更新。目前还未想到有效方法…继续边学边想吧…
梳理之前所写的业务流程,构思之后的思路