App1Page.java
3.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
package cn.csbr.app.gui.page;
import cn.csbr.app.config.FxConfigure;
import cn.csbr.app.gui.GUIContext;
import cn.csbr.app.gui.component.common.ImageButton;
import cn.hutool.core.date.DateUtil;
import javafx.geometry.Insets;
import javafx.scene.Node;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Region;
import javafx.scene.layout.VBox;
import org.springframework.beans.factory.annotation.Autowired;
/**
* 出库入库这些都是要集成子这个类的
* 这个类里边做基本的布局管理
*/
public abstract class App1Page extends AbstractPage {
Label namelabel = new Label();
Label timelabel = new Label();
Label titlelabel = new Label();
@Autowired
private GUIContext context;
@Autowired
private FxConfigure fxConfigure;
/**
* 第一排是用户名和密码
* 第二排是文字的名称
* 第三批是按钮
* 第四排是公司名称版本号
*
* @return
*/
private Node createHeader() {
HBox headerBox = new HBox();
Region spacer = new Region();
spacer.setMinWidth(550);
titlelabel.setId("appTitle");
titlelabel.setText(getTitle());
titlelabel.setMinWidth(250);
namelabel.setId("namelabel");
namelabel.setWrapText(false);
namelabel.setMinWidth(180);
timelabel.setId("timelabel");
timelabel.setWrapText(false);
timelabel.setMinWidth(150);
Region spacer1 = new Region();
spacer1.setMinWidth(60);
ImageButton peopleImg=new ImageButton(null,"peopleImg");
ImageButton timeImg=new ImageButton(null,"timeImg");
headerBox.getChildren().addAll(spacer,titlelabel,spacer1,peopleImg,namelabel,timeImg,timelabel);
headerBox.setMinWidth(fxConfigure.getMinWidth());
headerBox.setStyle("-fx-text-alignment:left;-fx-alignment:bottom-left");
return headerBox;
}
protected Node constructNode() {
this.setTitle(appTitle());
VBox main = new VBox();
main.setId("appPage");
main.getStylesheets().add("styles/app1.css");
main.setPadding(new Insets(10, 10, 10, 10));
Region spacer = new Region();
spacer.setMinHeight(50);
if (appContent() != null) {
main.getChildren().addAll(createHeader(), spacer,appContent());
} else {
main.getChildren().add(createHeader());
}
main.setMinWidth(fxConfigure.getMinWidth());
main.setMinHeight(fxConfigure.getMinHeight());
main.setMaxHeight(fxConfigure.getMinHeight());
main.setMaxWidth(fxConfigure.getMinWidth());
return main;
}
@Override
public void refresh() {
StringBuilder desc = new StringBuilder();
desc.append(context.getLoginUser().getUserName()+"/"+context.getLoginUser().getOrgName());
namelabel.setText(desc.toString());
timelabel.setText(DateUtil.now());
appRefresh();
}
abstract protected void appRefresh();
abstract protected Node appContent();
abstract protected String appTitle();
}