前言
本篇介绍的学生管理系统涉及的知识点有MySQL、JDBC和Java FX。如有不足,希望大家多多指正,万分感谢!
作品思路展示
绿色箭头代表的是外键约束关系
代码结构展示
- lib包包含的是MySQL驱动jar包
- javaFX包包含了fxml文件和对应的controller类
- JDBC包包含了接收数据库表格的对象类以及对应的对数据进行操作的dao对象,还有抽取出来的数据库连接和关闭语句的DBUtil工具类
功能实现和对应代码展示
1.通用函数
这两个函数整个程序中经常调用,所以抽取到一个common类里面,设置为静态方法可以不用创建对象,直接用类名引用
2.选择身份进入登录界面
代码:
视图由fxml文件实现
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="javaFx.Controller">
<Button fx:id="manager" layoutX="138.0" layoutY="222.0" mnemonicParsing="false" onAction="#managerLogin" prefHeight="54.0" prefWidth="76.0" text="管理员登录" textAlignment="CENTER" />
<Label fx:id="title" layoutX="176.0" layoutY="64.0" text="欢迎来到学生管理系统" textFill="#f28585">
<font>
<Font size="25.0" />
</font>
</Label>
<Label fx:id="choice" layoutX="210.0" layoutY="138.0" text="请选择您的登录方式" textFill="#e48989">
<font>
<Font size="20.0" />
</font>
</Label>
<Button fx:id="user" layoutX="394.0" layoutY="222.0" mnemonicParsing="false" onAction="#userLogin" prefHeight="54.0" prefWidth="64.0" text="用户登录" />
<Button fx:id="quiet" layoutX="274.0" layoutY="281.0" mnemonicParsing="false" onAction="#quietSys" prefHeight="54.0" prefWidth="55.0" text="退出" />
</AnchorPane>
功能在controller层实现
package javaFx;
import JDBC.Score;
import JDBC.Table;
import com.sun.glass.ui.Window;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.Pane;
import javafx.stage.Modality;
import javafx.stage.Stage;
import java.awt.*;
public class Controller {
@FXML
public Button quiet;
@FXML
private Button manager;
@FXML
private Button user;
@FXML
private Label title;
@FXML
private Label choice;
private Stage stage;
public static Stage chiledStage=new Stage();
public void setMainStage(Stage mainStage) {
this.stage = mainStage;
}
public Stage getMainStage() {
return stage;
}
public void initialize(){
this.stage=MainPanel.mainStage;
}
//管理员登录
@FXML
void managerLogin(ActionEvent event) throws Exception{
chiledStage=new Stage();
Common.setFxml("managerLogin.fxml",chiledStage,this,"管理员登录");
}
//用户登录
@FXML
void userLogin(ActionEvent event) throws Exception{
chiledStage=new Stage();
Common.setFxml("userLogin.fxml",chiledStage,this,"用户登录");
}
//退出
@FXML
void quietSys(ActionEvent event){
stage.close();
}
}
如果这两段代码都看不懂的话可以先去学习一下fxml标记语言的用法 ,网上有许多免费的教程讲的都很详细,这里就不在赘述
效果展示:
3.管理员登录界面
代码:
视图层
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.PasswordField?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="javaFx.managerLoginController">
<PasswordField fx:id="passwordFile" layoutX="220.0" layoutY="219.0" promptText="请输入密码" />
<TextField fx:id="userFile" layoutX="220.0" layoutY="164.0" promptText="请输入用户名" />
<Label fx:id="title" layoutX="225.0" layoutY="28.0" text="管理员登录">
<font>
<Font size="30.0" />
</font>
</Label>
<Label fx:id="user" layoutX="147.0" layoutY="164.0" text="用户名">
<font>
<Font size="17.0" />
</font>
</Label>
<Label fx:id="password" layoutX="156.0" layoutY="219.0" text="密码">
<font>
<Font size="17.0" />
</font>
</Label>
<Button fx:id="login" layoutX="100.0" layoutY="303.0" mnemonicParsing="false" onAction="#Login" prefHeight="48.0" prefWidth="73.0" text="登录" textAlignment="CENTER">
<font>
<Font size="18.0" />
</font>
</Button>
<Button fx:id="register" layoutX="427.0" layoutY="304.0" mnemonicParsing="false" onAction="#Register" prefHeight="48.0" prefWidth="73.0" text="注册" textAlignment="CENTER">
<font>
<Font size="18.0" />
</font>
</Button>
<Button fx:id="back" layoutX="510.0" layoutY="352.0" mnemonicParsing="false" onAction="#Back" prefHeight="30.0" prefWidth="76.0" text="返回上一步" />
<Button fx:id="changePw" layoutX="251.0" layoutY="304.0" mnemonicParsing="false" onAction="#changePassWord" prefHeight="48.0" prefWidth="99.0" text="修改密码">
<font>
<Font size="18.0" />
</font>
</Button>
</AnchorPane>
controller层 核心代码展示
managerDao中的方法
效果展示:
登录失败展示
登录成功展示
4.管理员注册页面
代码:
视图层
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.PasswordField?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="javaFx.managerLoginController">
<PasswordField fx:id="passwordFile" layoutX="220.0" layoutY="219.0" promptText="请输入密码" />
<TextField fx:id="userFile" layoutX="220.0" layoutY="164.0" promptText="请输入用户名" />
<Label fx:id="title" layoutX="225.0" layoutY="28.0" text="管理员登录">
<font>
<Font size="30.0" />
</font>
</Label>
<Label fx:id="user" layoutX="147.0" layoutY="164.0" text="用户名">
<font>
<Font size="17.0" />
</font>
</Label>
<Label fx:id="password" layoutX="156.0" layoutY="219.0" text="密码">
<font>
<Font size="17.0" />
</font>
</Label>
<Button fx:id="login" layoutX="100.0" layoutY="303.0" mnemonicParsing="false" onAction="#Login" prefHeight="48.0" prefWidth="73.0" text="登录" textAlignment="CENTER">
<font>
<Font size="18.0" />
</font>
</Button>
<Button fx:id="register" layoutX="427.0" layoutY="304.0" mnemonicParsing="false" onAction="#Register" prefHeight="48.0" prefWidth="73.0" text="注册" textAlignment="CENTER">
<font>
<Font size="18.0" />
</font>
</Button>
<Button fx:id="back" layoutX="510.0" layoutY="352.0" mnemonicParsing="false" onAction="#Back" prefHeight="30.0" prefWidth="76.0" text="返回上一步" />
<Button fx:id="changePw" layoutX="251.0" layoutY="304.0" mnemonicParsing="false" onAction="#changePassWord" prefHeight="48.0" prefWidth="99.0" text="修改密码">
<font>
<Font size="18.0" />
</font>
</Button>
</AnchorPane>
controller层 核心代码展示
managerDao中的方法
效果展示:
注册失败
注册成功
5.管理员修改密码界面
代码:
视图层
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.PasswordField?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="javaFx.managerLoginController">
<PasswordField fx:id="passwordFile" layoutX="220.0" layoutY="219.0" promptText="请输入密码" />
<TextField fx:id="userFile" layoutX="220.0" layoutY="164.0" promptText="请输入用户名" />
<Label fx:id="title" layoutX="225.0" layoutY="28.0" text="管理员登录">
<font>
<Font size="30.0" />
</font>
</Label>
<Label fx:id="user" layoutX="147.0" layoutY="164.0" text="用户名">
<font>
<Font size="17.0" />
</font>
</Label>
<Label fx:id="password" layoutX="156.0" layoutY="219.0" text="密码">
<font>
<Font size="17.0" />
</font>
</Label>
<Button fx:id="login" layoutX="100.0" layoutY="303.0" mnemonicParsing="false" onAction="#Login" prefHeight="48.0" prefWidth="73.0" text="登录" textAlignment="CENTER">
<font>
<Font size="18.0" />
</font>
</Button>
<Button fx:id="register" layoutX="427.0" layoutY="304.0" mnemonicParsing="false" onAction="#Register" prefHeight="48.0" prefWidth="73.0" text="注册" textAlignment="CENTER">
<font>
<Font size="18.0" />
</font>
</Button>
<Button fx:id="back" layoutX="510.0" layoutY="352.0" mnemonicParsing="false" onAction="#Back" prefHeight="30.0" prefWidth="76.0" text="返回上一步" />
<Button fx:id="changePw" layoutX="251.0" layoutY="304.0" mnemonicParsing="false" onAction="#changePassWord" prefHeight="48.0" prefWidth="99.0" text="修改密码">
<font>
<Font size="18.0" />
</font>
</Button>
</AnchorPane>
controller层 核心代码展示
managerDao包的方法
效果展示:
修改成功
修改失败
6.管理员操作界面
代码:
视图
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="javaFx.managerFunctionController">
<children>
<Label fx:id="title" layoutX="197.0" layoutY="28.0" text="选择您要进行的操作" textFill="#c32626">
<font>
<Font size="23.0" />
</font>
</Label>
<Button fx:id="deleteStudent" layoutX="63.0" layoutY="112.0" mnemonicParsing="false" onAction="#deleteStudent" text="删除学生" textAlignment="CENTER">
<font>
<Font size="15.0" />
</font>
</Button>
<Button fx:id="addStudent" layoutX="186.0" layoutY="112.0" mnemonicParsing="false" onAction="#addStudent" text="添加学生" textAlignment="CENTER">
<font>
<Font size="15.0" />
</font>
</Button>
<Button fx:id="changeStuNo" layoutX="300.0" layoutY="112.0" mnemonicParsing="false" onAction="#changeStuNo" text="修改学生学号" textAlignment="CENTER">
<font>
<Font size="15.0" />
</font>
</Button>
<Button fx:id="changeCourseNo" layoutX="437.0" layoutY="112.0" mnemonicParsing="false" onAction="#changeCourseNo" text="修改课程编号" textAlignment="CENTER">
<font>
<Font size="15.0" />
</font>
</Button>
<Button fx:id="addTable" layoutX="116.0" layoutY="189.0" mnemonicParsing="false" onAction="#addTable" text="添加三列表格">
<font>
<Font size="15.0" />
</font>
</Button>
<Button fx:id="selectTable" layoutX="246.0" layoutY="189.0" mnemonicParsing="false" onAction="#selectTable" text="查询表格信息">
<font>
<Font size="15.0" />
</font>
</Button>
<Button fx:id="recoverData" layoutX="370.0" layoutY="189.0" mnemonicParsing="false" onAction="#recoverData" text="数据找回">
<font>
<Font size="15.0" />
</font>
</Button>
<Button fx:id="back" layoutX="240.0" layoutY="292.0" mnemonicParsing="false" onAction="#Back" text="返回上一步">
<font>
<Font size="19.0" />
</font>
</Button>
<Button fx:id="addTeacher" layoutX="467.0" layoutY="189.0" mnemonicParsing="false" onAction="#addTeacher" text="添加教师">
<font>
<Font size="15.0" />
</font>
</Button>
<Button fx:id="addCourse" layoutX="273.0" layoutY="239.0" mnemonicParsing="false" onAction="#addCourse" text="添加课程">
<font>
<Font size="15.0" />
</font>
</Button>
</children>
</AnchorPane>
删除学生
studentDao包方法
添加学生
studentDao包方法
修改学生学号
studentDao包方法
修改课程编号
courseDao包方法
建三列表
tableDao包方法
查询表格信息
数据找回
studentDao包的方法
添加教师
teacherDao的方法
添加课程
courseDao包的方法
效果图:
删除学生
添加学生
修改学生学号
修改课程编号
建三列表
查寻表格信息
例:
数据找回
添加教师
添加课程
7.学生登录界面
代码:
视图:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.PasswordField?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0"
prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="javaFx.userLoginController">
<Label fx:id="title" layoutX="230.0" layoutY="34.0" text="用户登录">
<font>
<Font size="35.0"/>
</font>
</Label>
<Label fx:id="labelUser" layoutX="91.0" layoutY="129.0" text="用户名">
<font>
<Font size="25.0"/>
</font>
</Label>
<TextField fx:id="userFile" layoutX="201.0" layoutY="131.0" prefHeight="30.0" prefWidth="269.0"
promptText="请输入用户名(学号或者教师编号)">
<font>
<Font size="15.0"/>
</font>
</TextField>
<Label fx:id="labelPsd" layoutX="104.0" layoutY="210.0" text="密码">
<font>
<Font size="25.0"/>
</font>
</Label>
<PasswordField fx:id="passwordFile" layoutX="201.0" layoutY="212.0" prefHeight="30.0" prefWidth="269.0"
promptText="输入密码">
<font>
<Font size="15.0"/>
</font>
</PasswordField>
<Button fx:id="student" layoutX="37.0" layoutY="287.0" mnemonicParsing="false" onAction="#studentLogin"
text="学生登录">
<font>
<Font size="20.0"/>
</font>
</Button>
<Button fx:id="back" layoutX="236.0" layoutY="345.0" mnemonicParsing="false" onAction="#Back" text="返回上一步">
<font>
<Font size="20.0"/>
</font>
</Button>
<Button fx:id="teacher" layoutX="336.0" layoutY="287.0" mnemonicParsing="false" onAction="#teacherLogin"
text="教师登录">
<font>
<Font size="20.0"/>
</font>
</Button>
<Button fx:id="studentRegister" layoutX="184.0" layoutY="287.0" mnemonicParsing="false" onAction="#studentRegister"
text="学生注册">
<font>
<Font size="20.0"/>
</font>
</Button>
<Button fx:id="teacherRegister" layoutX="470.0" layoutY="287.0" mnemonicParsing="false" onAction="#teacherRegister"
text="教师注册">
<font>
<Font size="20.0"/>
</font>
</Button>
</AnchorPane>
controller层
userDao包的方法
效果图:
8.学生注册界面
代码:
视图:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.PasswordField?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0"
prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="javaFx.userLoginController">
<Label fx:id="title" layoutX="230.0" layoutY="34.0" text="用户登录">
<font>
<Font size="35.0"/>
</font>
</Label>
<Label fx:id="labelUser" layoutX="91.0" layoutY="129.0" text="用户名">
<font>
<Font size="25.0"/>
</font>
</Label>
<TextField fx:id="userFile" layoutX="201.0" layoutY="131.0" prefHeight="30.0" prefWidth="269.0"
promptText="请输入用户名(学号或者教师编号)">
<font>
<Font size="15.0"/>
</font>
</TextField>
<Label fx:id="labelPsd" layoutX="104.0" layoutY="210.0" text="密码">
<font>
<Font size="25.0"/>
</font>
</Label>
<PasswordField fx:id="passwordFile" layoutX="201.0" layoutY="212.0" prefHeight="30.0" prefWidth="269.0"
promptText="输入密码">
<font>
<Font size="15.0"/>
</font>
</PasswordField>
<Button fx:id="student" layoutX="37.0" layoutY="287.0" mnemonicParsing="false" onAction="#studentLogin"
text="学生登录">
<font>
<Font size="20.0"/>
</font>
</Button>
<Button fx:id="back" layoutX="236.0" layoutY="345.0" mnemonicParsing="false" onAction="#Back" text="返回上一步">
<font>
<Font size="20.0"/>
</font>
</Button>
<Button fx:id="teacher" layoutX="336.0" layoutY="287.0" mnemonicParsing="false" onAction="#teacherLogin"
text="教师登录">
<font>
<Font size="20.0"/>
</font>
</Button>
<Button fx:id="studentRegister" layoutX="184.0" layoutY="287.0" mnemonicParsing="false" onAction="#studentRegister"
text="学生注册">
<font>
<Font size="20.0"/>
</font>
</Button>
<Button fx:id="teacherRegister" layoutX="470.0" layoutY="287.0" mnemonicParsing="false" onAction="#teacherRegister"
text="教师注册">
<font>
<Font size="20.0"/>
</font>
</Button>
</AnchorPane>
controller层
userDao包中的方法
效果图:
9.教师登录
代码:
视图:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.PasswordField?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0"
prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="javaFx.userLoginController">
<Label fx:id="title" layoutX="230.0" layoutY="34.0" text="用户登录">
<font>
<Font size="35.0"/>
</font>
</Label>
<Label fx:id="labelUser" layoutX="91.0" layoutY="129.0" text="用户名">
<font>
<Font size="25.0"/>
</font>
</Label>
<TextField fx:id="userFile" layoutX="201.0" layoutY="131.0" prefHeight="30.0" prefWidth="269.0"
promptText="请输入用户名(学号或者教师编号)">
<font>
<Font size="15.0"/>
</font>
</TextField>
<Label fx:id="labelPsd" layoutX="104.0" layoutY="210.0" text="密码">
<font>
<Font size="25.0"/>
</font>
</Label>
<PasswordField fx:id="passwordFile" layoutX="201.0" layoutY="212.0" prefHeight="30.0" prefWidth="269.0"
promptText="输入密码">
<font>
<Font size="15.0"/>
</font>
</PasswordField>
<Button fx:id="student" layoutX="37.0" layoutY="287.0" mnemonicParsing="false" onAction="#studentLogin"
text="学生登录">
<font>
<Font size="20.0"/>
</font>
</Button>
<Button fx:id="back" layoutX="236.0" layoutY="345.0" mnemonicParsing="false" onAction="#Back" text="返回上一步">
<font>
<Font size="20.0"/>
</font>
</Button>
<Button fx:id="teacher" layoutX="336.0" layoutY="287.0" mnemonicParsing="false" onAction="#teacherLogin"
text="教师登录">
<font>
<Font size="20.0"/>
</font>
</Button>
<Button fx:id="studentRegister" layoutX="184.0" layoutY="287.0" mnemonicParsing="false" onAction="#studentRegister"
text="学生注册">
<font>
<Font size="20.0"/>
</font>
</Button>
<Button fx:id="teacherRegister" layoutX="470.0" layoutY="287.0" mnemonicParsing="false" onAction="#teacherRegister"
text="教师注册">
<font>
<Font size="20.0"/>
</font>
</Button>
</AnchorPane>
controller层
userDao包方法
效果图:
10.教师注册
代码:
视图:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.PasswordField?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0"
prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="javaFx.userLoginController">
<Label fx:id="title" layoutX="230.0" layoutY="34.0" text="用户登录">
<font>
<Font size="35.0"/>
</font>
</Label>
<Label fx:id="labelUser" layoutX="91.0" layoutY="129.0" text="用户名">
<font>
<Font size="25.0"/>
</font>
</Label>
<TextField fx:id="userFile" layoutX="201.0" layoutY="131.0" prefHeight="30.0" prefWidth="269.0"
promptText="请输入用户名(学号或者教师编号)">
<font>
<Font size="15.0"/>
</font>
</TextField>
<Label fx:id="labelPsd" layoutX="104.0" layoutY="210.0" text="密码">
<font>
<Font size="25.0"/>
</font>
</Label>
<PasswordField fx:id="passwordFile" layoutX="201.0" layoutY="212.0" prefHeight="30.0" prefWidth="269.0"
promptText="输入密码">
<font>
<Font size="15.0"/>
</font>
</PasswordField>
<Button fx:id="student" layoutX="37.0" layoutY="287.0" mnemonicParsing="false" onAction="#studentLogin"
text="学生登录">
<font>
<Font size="20.0"/>
</font>
</Button>
<Button fx:id="back" layoutX="236.0" layoutY="345.0" mnemonicParsing="false" onAction="#Back" text="返回上一步">
<font>
<Font size="20.0"/>
</font>
</Button>
<Button fx:id="teacher" layoutX="336.0" layoutY="287.0" mnemonicParsing="false" onAction="#teacherLogin"
text="教师登录">
<font>
<Font size="20.0"/>
</font>
</Button>
<Button fx:id="studentRegister" layoutX="184.0" layoutY="287.0" mnemonicParsing="false" onAction="#studentRegister"
text="学生注册">
<font>
<Font size="20.0"/>
</font>
</Button>
<Button fx:id="teacherRegister" layoutX="470.0" layoutY="287.0" mnemonicParsing="false" onAction="#teacherRegister"
text="教师注册">
<font>
<Font size="20.0"/>
</font>
</Button>
</AnchorPane>
controller层
userDao包方法
效果图:
11.学生功能
代码:
视图
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity"
fx:controller="javaFx.studentFunctionController"
prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1">
<children>
<Label fx:id="title" layoutX="188.0" layoutY="26.0" text="请选择要执行的操作">
<font>
<Font size="25.0" />
</font>
</Label>
<Button fx:id="choiceCourse" layoutX="217.0" layoutY="104.0" mnemonicParsing="false" onAction="#choiceCourse" text="选课">
<font>
<Font size="20.0" />
</font>
</Button>
<Button fx:id="deleteChange" layoutX="339.0" layoutY="104.0" mnemonicParsing="false" onAction="#deleteChange" text="退选">
<font>
<Font size="20.0" />
</font>
</Button>
<Button fx:id="selectScore" layoutX="373.0" layoutY="180.0" mnemonicParsing="false" onAction="#selectScore" text="查询成绩">
<font>
<Font size="20.0" />
</font>
</Button>
<Button fx:id="analyseScore" layoutX="137.0" layoutY="180.0" mnemonicParsing="false" onAction="#analyseScore" text="成绩分析">
<font>
<Font size="20.0" />
</font>
</Button>
<Button fx:id="selectStudent" layoutX="227.0" layoutY="259.0" mnemonicParsing="false" onAction="#selectStudent" text="查询个人信息">
<font>
<Font size="20.0" />
</font>
</Button>
</children>
</AnchorPane>
选课
stuCourseDao包的方法
退选
stuCourseDao包中的方法
成绩分析
scoreDao包的方法
查询成绩
scoreDao包中的方法
查询个人信息
stuCourseDao包的方法
效果图:
选课
退选
成绩分析
查询成绩
查询个人信息
12.教师功能
代码:
视图
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="javaFx.teacherFunctionController">
<children>
<Label layoutX="285.0" layoutY="44.0" />
<Label fx:id="title" layoutX="188.0" layoutY="14.0" text="请选择下面操作">
<font>
<Font size="30.0" />
</font>
</Label>
<Button fx:id="rewriteScore" layoutX="92.0" layoutY="151.0" mnemonicParsing="false" onAction="#rewriteScore" text="批改考试">
<font>
<Font size="20.0" />
</font>
</Button>
<Button fx:id="studentScore" layoutX="219.0" layoutY="151.0" mnemonicParsing="false" onAction="#studentScore" text="学生成绩分析">
<font>
<Font size="20.0" />
</font>
</Button>
<Button fx:id="selectTeacher" layoutX="390.0" layoutY="151.0" mnemonicParsing="false" onAction="#selectTeacher" text="查询个人信息">
<font>
<Font size="20.0" />
</font>
</Button>
<Button fx:id="back" layoutX="229.0" layoutY="268.0" mnemonicParsing="false" onAction="#Back" text="返回上一步">
<font>
<Font size="20.0" />
</font>
</Button>
</children>
</AnchorPane>
视图效果
批改考试
scoreDao包中的方法
学生成绩分析
teacherDao包中的方法
studentDao包中的方法
查询教师信息
teacherDao中的方法