目录
系统介绍
我首先要两个实体类一个是老师类,一个学生类
老师类:Teacher
public class Teacher {//老师类
private Integer id;
private String name;
private String password;
private String gender;
}
学生类:Student
public class Student {//学生类
private Integer id;
private String name;
private String password;
private String gender;
private String address;
private String hobby;
}
在该系统中,主要完成老师管理学生的功能,在这节课中,主要完成以下操作:
登录页面搭建
如图所示我们需要做出这样的效果
代码所示:
@Override
public void start(Stage stage) throws Exception {
// TODO Auto-generated method stub
// 新建布局
GridPane gp = new GridPane();
// 设置居中方式
gp.setAlignment(Pos.CENTER);
// 调整空隙
gp.setHgap(10);
gp.setVgap(10);
// 新建文本标签
Label l1 = new Label("老师名称");
// 新建输入框
TextField name = new TextField();
// 新建文本标签:用户密码
Label l2 = new Label("用户密码");
// 新建密码框
PasswordField pwd = new PasswordField();
// 按钮的创建
Button b1 = new Button("登录");
// 注册按钮的创建
Button b2 = new Button("前往注册");
gp.add(l1, 0, 0);
gp.add(name, 1, 0);
gp.add(l2, 0, 1);
gp.add(pwd, 1, 1);
gp.add(b1, 0, 2);
gp.add(b2, 1, 2);
Scene sc = new Scene(gp, 300, 200);
stage.setTitle("老师登录界面");
stage.setScene(sc);
stage.show();
搭建好界面之后我们进行
登录按钮的事件设置
使用stage.setOnAction完成事件设置
b1.setOnAction(a -> {
String urename = name.getText();
String password = pwd.getText();
Teacher list = new TeacherDao().list(urename, password);
if (list != null) {
Optional<ButtonType> open = new Alert(AlertType.INFORMATION, "登录成功", ButtonType.OK).showAndWait();
if (ButtonType.OK == open.get()) {
try {
new Stu().start(new Stage());
stage.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} else {
Optional<ButtonType> alert = new Alert(AlertType.ERROR, "登录失败,请点确定重新登录", ButtonType.OK, ButtonType.NO,
ButtonType.CLOSE).showAndWait();
if (alert.get() == ButtonType.OK) {
}
if (alert.get() == ButtonType.NO) {
}
if (alert.get() == ButtonType.CLOSE) {
stage.close();
}
}
});
以上就是登录的点击事件的操作,接下来就是注册的主页搭建了:
注册页面的搭建
注册应为美观问题我们选择网格布局搭建
代码所示:
//新建布局
GridPane gp=new GridPane();
//文本标签
Label l1=new Label("老师名称");
Label l2=new Label("老师密码");
Label l3=new Label("老师性别");
//输入框
TextField f1=new TextField("请输入老师名字");
//密码框
PasswordField f2=new PasswordField();
//性别单选框
ToggleGroup group =new ToggleGroup();
RadioButton men=new RadioButton("男");
RadioButton miss=new RadioButton("女");
HBox h1= new HBox();
//注册按钮和取消按钮创建
Button b1=new Button("注册");
Button b2=new Button("取消");
@Override
public void start(Stage stage) throws Exception {
// TODO Auto-generated method stub
//设置居中格式
gp.setAlignment(Pos.CENTER);
//调整间隙
gp.setHgap(20);
gp.setVgap(20);
men.setToggleGroup(group);
miss.setToggleGroup(group);
men.setSelected(true);
h1.getChildren().addAll(men,miss);
//用户名
gp.add(l1, 0, 0);
gp.add(f1, 1, 0);
//密码
gp.add(l2, 0, 1);
gp.add(f2, 1, 1);
//用户性别
gp.add(l3, 0, 2);
gp.add(h1, 1, 2);
//按钮
gp.add(b1, 0, 3);
gp.add(b2, 1, 3);
//生成场景并完成布局绑定,同时设置场景大小
Scene sc=new Scene(gp,300,200);
stage.setTitle("注册");
stage.setScene(sc);
stage.show();
}
接下来我们编写登录页面的注册点击事件
b2.setOnAction(a -> {
try {
new Register().start(new Stage());
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
});