登录页面功能实现
public class Down1 extends Application {
private String user;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
GridPane gr=new GridPane();
gr.setId("gr");
// gr.setStyle("-fx-background-color:#FFF5EE");
gr.setAlignment(Pos.CENTER);//设置内容居中
final ToggleGroup group = new ToggleGroup();
RadioButton rb1 = new RadioButton("管理员");
rb1.setToggleGroup(group);
RadioButton rb2 = new RadioButton("用户");
rb2.setToggleGroup(group);
RadioButton rb3 = new RadioButton("Contacts");
rb3.setToggleGroup(group);
Label L_name =new Label("账户:");
Label L_password =new Label("密码:");
TextField t_name=new TextField();
t_name.setStyle(
"-fx-font-size: 20"
);
t_name.setUserData("李宁波");
t_name.setTooltip(new Tooltip("请输入中文账户名"));
Button login=new Button("登录");
login.setId("deng");
Button clear=new Button("清除");
clear.setId("clear");
Button addperson =new Button("注册");
PasswordField t_password=new PasswordField();
t_password.setUserData("123456");
t_password.setTooltip(new Tooltip("请输入数字或字母"));//给密码输入框添加提示信息
gr.add(L_name,0,0);//第一列第一行
gr.add(t_name,1,0);//第二列第一行
gr.add(L_password,0,1);//第一列第二行
gr.add(t_password,1,1);//第二列第二行
gr.add(clear,0,4);
gr.add(login,1,4);
gr.add(addperson,1,4);
gr.add(rb1,1,5);
gr.add(rb2,1,6);
rb1.setUserData("1");
rb2.setUserData("2");
gr.setHgap(5);
gr.setVgap(10);
gr.setMargin(login,new Insets(0,0,0,200));//设置登录按钮的左边距为200
group.selectedToggleProperty().addListener(
(ObservableValue<? extends Toggle> ov, Toggle old_Toggle,
Toggle new_Toggle) -> {
user= (String) group.getSelectedToggle().getUserData();
});
//给lable及登录等按钮设置id便于装添css文件
t_password.setId("t_password");
L_name.setId("L_name");
L_password.setId("L_password");
t_name.setId("t_name");
addperson.setId("addperson");
Scene scene=new Scene(gr);//将表格布局加到场景里
URL url =this.getClass().getClassLoader().getResource("CSS_book/css1.css");
scene.getStylesheets().add(url.toExternalForm());//将css文件加到场景中
primaryStage.setScene(scene);
primaryStage.setTitle("登陆界面");
// 设置窗口大小为宽800高600
primaryStage.setWidth(800);
primaryStage.setHeight(600);
primaryStage.setResizable(false);
primaryStage.show();
addperson.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
try {
zhuche zc=new zhuche();
} catch (IOException e) {
e.printStackTrace();
}
}
});
clear.setOnAction(new EventHandler<ActionEvent>() {
@Override
// 使账号和密码的文本框的内容清除
public void handle(ActionEvent event) {
t_name.setText("");
t_password.setText("");
}
});
group.selectedToggleProperty().addListener(
(ObservableValue<? extends Toggle> ov, Toggle old_Toggle,
Toggle new_Toggle) -> {
if (group.getSelectedToggle() != null) {
System.out.println(group.getSelectedToggle());
}
});
// 判断是否登陆成功,成功打开一个新界面
login.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
GetMysql.GetList();
String name=t_name.getText();
String password=t_password.getText();
System.out.println(name);
if (name==""||password=="")
{
System.out.println("请填写完整信息");
}
else {
for (int i=0;i<GetMysql.personList.size();i++) {
if (name.equals(GetMysql.personList.get(i).getName()) && password.equals(GetMysql.personList.get(i).getPassword())) {
System.out.println("登陆成功");
//
mainapp a1 = new mainapp();
Stu_user stu_user=new Stu_user();
if (user=="2"){
try {
stu_user.user_name=name;
stu_user.start();
} catch (Exception e) {
e.printStackTrace();
}
primaryStage.close();
break;
}
else if (user=="1") {
try {
a1.start();
} catch (Exception e) {
e.printStackTrace();
}
primaryStage.close();
break;
}
}
if (i==GetMysql.personList.size()-1)
{
System.out.println("用户名或密码错误");
FadeTransition fadeTransition = new FadeTransition();
fadeTransition.setFromValue(0);
fadeTransition.setToValue(1);
fadeTransition.setNode(gr);
fadeTransition.setDuration(Duration.seconds(0.2));
fadeTransition.play();
NewWindow1 newWindow1 = new NewWindow1();
}
}
}
}
});
}
}
实现思路实现思路
核心思路就是
在TextField输入框中输入 账户名 PasswordField中输入密码
然后点击登录按钮
用到按钮点击方法
login.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) {
/* 里面填写点击按钮后的操作
登录界面要写 判断输入在TextField 与 PasswordFiel里的账户和密码是否和数据库里的密码是否一样
*/
String name=t_name.getText(); String password=t_password.getText();
}
});
String name=t_name.getText(); String password=t_password.getText();
getText()方法:得到TextField和passwordField的输入内容
然后将得到的内容与储存的账号及密码做匹配就
用equil比较
如果相等即匹配成功
增加功能
更新用了MVC架构的登录界面
添加了JDBC连数据库功能
百度网盘代码分享https://pan.baidu.com/s/1EHexpqiSF1_6_i3MdGm_sQ?pwd=c846 想试我的代码必须先根据上方的图片建一个一模一样的数据库哦(book-person-name&&password)