赞
踩
- package com.zking.util;
-
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
-
- /**
- * 连接数据库 帮助类
- * @author Administrator
- *
- */
- public class DBHelper {
- //注册驱动
- static {
- try {
- Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
- } catch (Exception e) {
- e.printStackTrace();//处理异常信息
- }
- }
-
- //连接语句
- private static final String url = "jdbc:sqlserver://sqlserver:1433;DatabaseName=T283";
- //获得连接
- public static Connection getCon() {
- Connection con = null;
- try {
- con = DriverManager.getConnection(url,"sa","123");
- } catch (Exception e) {
- e.printStackTrace();//处理异常信息
- }
- return con;
- }
-
- public static void close(Connection con,PreparedStatement ps,ResultSet rs) {
- try {
- if(con!=null) {
- con.close();
- }
- if(ps!=null) {
- ps.close();
- }
- if(rs!=null) {
- rs.close();
- }
- } catch (Exception e) {
- e.printStackTrace();//处理异常信息
- }
- }
- }
- package com.zking.entity;
-
- /**
- * 学生 实体类
- * 定义属性
- * @author Administrator
- *
- */
- public class Student {
- //定义属性,私有化属性
- private int id;
- private String name;
- private String password;
- private String sex;
- //封装
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public String getSex() {
- return sex;
- }
- public void setSex(String sex) {
- this.sex = sex;
- }
-
- //构造函数
- public Student() {
- super();
- }
- public Student(int id, String name, String password, String sex) {
- super();
- this.id = id;
- this.name = name;
- this.password = password;
- this.sex = sex;
- }
- public Student(String name, String password, int age, String sex) {
- super();
- this.name = name;
- this.password = password;
- this.sex = sex;
- }
- //toString
- public String toString() {
- return "编号 " + id + "\t 姓名 " + name + "\t 密码 " + password + "\t 性别 " + sex;
- }
- }
- package com.zking.dao;
-
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
-
- import com.zking.entity.Student;
- import com.zking.util.DBHelper;
-
- /**
- * 数据库 登录查询 or 验证
- * 方法
- * @author Administrator
- *
- */
- public class StuDao {
- // //定义资源 即 声明对象
- // private Connection con;
- // private PreparedStatement ps;
- // private ResultSet rs;
-
- //传两个参数-用户名和 密码,为了连接实现数据库登录验证(查询)
- public Student login(String name,String pwd) {
- Student s = null;
- //声明对象
- Connection con = null;
- PreparedStatement ps = null;
- ResultSet rs = null;
- try {
- con = DBHelper.getCon();//连接数据库
- String sql = "select * form studentfx where sname = ? and spassword =?";
- ps = con.prepareStatement(sql);//创建对象
- ps.setString(1, name);
- ps.setString(2, pwd);//给占位符赋值
- rs = ps.executeQuery();//执行 SQL语句
- if(rs.next()) {
- //把数据存进 学生对象
- s = new Student(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4));
- return s;//如果数据库中有此人,返回 学生对象
- }
- } catch (Exception e) {
- e.printStackTrace();//处理异常信息
- }finally {
- DBHelper.close(con, ps, rs);//关闭连接
- }
- return null;//查无此人,返回 null值
- }
- }
- package com.zking.test;
-
- import com.zking.dao.StuDao;
- import com.zking.entity.Student;
-
- import javafx.application.Application;
- import javafx.geometry.Pos;
- import javafx.scene.Scene;
- import javafx.scene.control.Alert;
- import javafx.scene.control.Alert.AlertType;
- import javafx.scene.control.Button;
- import javafx.scene.control.Label;
- import javafx.scene.control.PasswordField;
- import javafx.scene.control.TextField;
- import javafx.scene.layout.FlowPane;
- import javafx.scene.layout.GridPane;
- import javafx.stage.Stage;
-
- /**
- * 登录 login
- * @author Administrator
- *
- */
- public class Login extends Application{
- //将元素定义在这个位置,其他地方也可调用
- StuDao sdao = new StuDao();//实例化 验证方法
- FlowPane fp = new FlowPane();//流式布局 对象
- GridPane gp = new GridPane();//网格布局 对象
- Scene scene = new Scene(fp, 300, 300);//布置 舞台
-
- //控件 3*2 三行两列
- //用户名
- Label l1 = new Label("用户名");
- TextField user = new TextField();
- //用户密码
- Label l2 = new Label("用户密码");
- PasswordField pwd = new PasswordField();
- //按钮
- Button b = new Button("登录");
-
-
- public void start(Stage stage) throws Exception {
- //控件放到布局中
- gp.getChildren().addAll(l1,user,l2,pwd,b);//先得到子节点,再添加控件
- //网格布局需 行*列 格式放置控件
- gp.add(l1, 0, 0);
- gp.add(user, 1, 0);//用户名
- gp.add(l2, 1, 0);
- gp.add(pwd, 1, 1);//用户密码
- gp.add(b, 2, 0);//登录 按钮
-
- //网格布局 整体居中
- gp.setAlignment(Pos.CENTER);//Pos->Position 位置
- gp.setHgap(15);//H:水平 水平间距 px
- gp.setVgap(15);//V:垂直 垂直间距 px
-
- //点击事件: login 登录
- b.setOnAction(a->{
- //获取输入的值
- String name = user.getText();
- String password = pwd.getText();
- //参数传到数据库内,调用方法
- Student s = sdao.login(name, password);//学生对象?! 返回 null 或 s 学生对象
- //判断登录 成功 or 失败
- if(s!=null) {//有这个学生对象,查询成功
- Alert al = new Alert(AlertType.INFORMATION, "登录成功,欢迎 "+s.getName());
- al.showAndWait();//弹窗 等待
- }else {//无此对象,查询失败
- Alert al = new Alert(AlertType.WARNING, "登录失败");
- al.showAndWait();//弹出 并显示
- }
- });
- stage.setScene(scene);//场景和 舞台绑定
- stage.show();//显示 舞台
- }
-
- public static void main(String[] args) {
- Application.launch();
- }
-
- }
- package com.zking.test;
-
- import java.util.Optional;
- import java.util.StringJoiner;
-
- import javafx.application.Application;
- import javafx.application.Platform;
- import javafx.geometry.Pos;
- import javafx.scene.Scene;
- import javafx.scene.control.Alert;
- import javafx.scene.control.Alert.AlertType;
- import javafx.scene.control.Button;
- import javafx.scene.control.ButtonType;
- import javafx.scene.control.CheckBox;
- import javafx.scene.control.ChoiceBox;
- import javafx.scene.control.Label;
- import javafx.scene.control.PasswordField;
- import javafx.scene.control.RadioButton;
- import javafx.scene.control.TextField;
- import javafx.scene.control.ToggleGroup;
- import javafx.scene.layout.FlowPane;
- import javafx.scene.layout.GridPane;
- import javafx.scene.layout.HBox;
- import javafx.stage.Stage;
-
- /**
- * Regist 注册
- * @author Administrator
- *
- */
- public class Regist extends Application{
- //网格布局
- GridPane gp = new GridPane();
- Scene scene = new Scene(gp, 250, 300);
-
- //控件 6*2
- //账户
- Label l1 = new Label("用户名");
- TextField user = new TextField();//输入框
-
- //密码
- Label l2 = new Label("密码");
- PasswordField password = new PasswordField();//密码框
-
- //单选框 RadioButton
- Label l3 = new Label("性别");
- //默认可多选,必须放在同一组才可实现 单选功能
- ToggleGroup group = new ToggleGroup();//新建 组名
-
- RadioButton nan = new RadioButton("男");
- RadioButton nv = new RadioButton("女");//性别选择
- //一个位置只能放一个子节点,多个控件放置于布局内可实现
- HBox sex = new HBox(nan,nv);
- /*
- * 流式布局
- * FlowPane fp = new FlowPane(nan,nv);
- * 占用舞台位置太长,更优选择 水平布局
- * HBox 水平布局:只有一行,所有控件都在一行
- * VBox 垂直布局:只有一列,所有控件都在一列
- */
-
- //下拉框 ChoiceBox
- Label l4 = new Label("地址");
- ChoiceBox<String> c = new ChoiceBox<String>();//也是一个 List集合
-
- //多选框 CheckBox
- Label l5 = new Label("爱好");
- CheckBox c1 = new CheckBox("吃饭");
- CheckBox c2 = new CheckBox("睡觉");
- CheckBox c3 = new CheckBox("打豆豆");
- //三变一
- HBox like = new HBox(c1,c2,c3);
-
- //按钮
- Button b1 = new Button("注册");
- Button b2 = new Button("取消");
-
- public void start(Stage stage) throws Exception {
- //布局 位置
- gp.add(l1, 0, 0);
- gp.add(user, 1, 0);//账户
-
- gp.add(l2, 0, 1);
- gp.add(password, 1, 1);//密码
-
- gp.add(l3, 0, 2);
- gp.add(sex, 1, 2);//性别
- nan.setToggleGroup(group);
- nv.setToggleGroup(group);//放置同一组,实现单选功能
- nan.setSelected(true);//默认性别 男
-
- gp.add(l4, 0, 3);
- gp.add(c, 1, 3);//地址
- c.getItems().addAll("湖南","湖北","四川","广东","河南");//设置下拉选项
- c.setValue("湖南");//默认地址 湖南
-
- gp.add(l5, 0, 4);
- gp.add(like, 1, 4);//爱好
-
- gp.add(b1, 0, 5);
- gp.add(b2, 1, 5);//按钮
-
- //点击事件
- //1、注册
- b1.setOnAction(a->{
- //获取输入值
- String name = user.getText();//用户名
- String pwd = password.getText();//密码
-
- String sex = "男";//默认为男性
- if(nv.isSelected()) {
- sex = "女";//性别 女 被选中
- }//性别
- String address = c.getValue();//地址
- //字符连接器 StringJoiner
- StringJoiner j = new StringJoiner(",");//美化多选结果
- if(c1.isSelected()) {
- j.add(c1.getText());
- }//爱好:吃饭
- if(c2.isSelected()) {
- j.add(c2.getText());
- }//爱好:睡觉
- if(c3.isSelected()) {
- j.add(c3.getText());
- }//爱好:打豆豆
- String hobby = j.toString();//爱好 全部存进来
- //TODO:将数据放到数据库,插入
- //??? 作业 ???
-
- //打印
- System.out.println(name);
- System.out.println(pwd);
- System.out.println(sex);
- System.out.println(address);
- System.out.println(hobby);
- });
- //2、取消
- b2.setOnAction(a->{//要理解 要理解 要理解
- Optional<ButtonType> b = new Alert(AlertType.CONFIRMATION,"你真的要退出嘛 (o°ω°o)",ButtonType.YES,ButtonType.NO).showAndWait();
- if(b.get()==ButtonType.YES) {
- Platform.exit();//关闭界面 (和 X效果相同)
- }
- });
-
- //设置网格布局
- gp.setAlignment(Pos.CENTER);
- gp.setHgap(15);//水平间距
- gp.setVgap(15);//垂直间距
-
- stage.setScene(scene);//场景 和舞台 绑定
- stage.show();//显示 舞台
- }
-
- public static void main(String[] args) {
- Application.launch();
- }
- }
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。