完整代码链接:https://pan.baidu.com/s/1XpFOpUkP6Go7E6esVS3q3Q
提取码:9l4y
本人是一名学生党,因作业需要,所以利用Java语言编写了一个学生信息管理系统,其中有很多不足的地方,希望各位大佬指点。
本人是利用eclipse编写的这个管理系统,用eclipse编写需要导入一个外部JAR文件:
jar文件导入步骤:
1、在eclipse中右击项目,选择构建路径,点击“配置构建路径”:
2、进入如下界面,点击“添加外部JAR”:
之后找到jar文件的路径,添加进去后,点击应用并关闭即可。
因全部代码太多,所以 文章只解析一小部分(所有界面都是一个编程思路,所以只介绍一小部分),完整代码的链接在文章底部。
package 学生信息管理系统;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
//学生信息查询界面
public class MessageSearch extends JFrame implements ActionListener{
//声明所需要的组件
static MessageSearch ms;
JPanel jp = new JPanel();
JLabel sch = new JLabel("查询学生信息",JLabel.CENTER);
JLabel pleaseInputNumber = new JLabel("请输入学号:",JLabel.CENTER);
JButton search = new JButton("查询");
JButton reset = new JButton("重置");
JLabel Name = new JLabel("姓名:",JLabel.CENTER);
JLabel Sex = new JLabel("性别:",JLabel.CENTER);
JLabel Classs = new JLabel("班级:",JLabel.CENTER);
JLabel Academy = new JLabel("学院:",JLabel.CENTER);
ButtonGroup bgp = new ButtonGroup();
JRadioButton man = new JRadioButton("男");
JRadioButton woman = new JRadioButton("女");
JTextField id = new JTextField();
JTextField nm = new JTextField();
JTextField cla = new JTextField();
JTextField acad = new JTextField();
//定义登录数据库所需要的url、user、password
String url="jdbc:mysql://localhost:3306/test?characterEncoding=utf-8";
String user = "你的用户名";
String password = "你的密码";
//利用构造函数定义并实现登录界面,定义各组件的大小并将其添加进界面中
public MessageSearch() {
//设置界面大小
this.setSize(500, 400);
//设置界面可见
this.setVisible(true);
//设置用户不可以调整界面大小
this.setResizable(false);
//设置界面关闭方式
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(jp);
jp.setLayout(null);
//为按钮添加点击事件
search.addActionListener(this);
reset.addActionListener(this);
//定义大小
sch.setBounds(100, 20, 300, 20);
//添加进入界面中
jp.add(sch);
pleaseInputNumber.setBounds(100, 60, 100, 20);
jp.add(pleaseInputNumber);
id.setBounds(190, 60, 140, 20);
jp.add(id);
search.setBounds(120, 100, 90, 20);
reset.setBounds(260, 100, 90, 20);
jp.add(search);
jp.add(reset);
Name.setBounds(100, 140, 70, 20);
jp.add(Name);
nm.setBounds(190, 140, 140, 20);
jp.add(nm);
Sex.setBounds(100, 180, 70, 20);
jp.add(Sex);
man.setBounds(205, 180, 60, 20);
woman.setBounds(285, 180, 60, 20);
bgp.add(man);
bgp.add(woman);
jp.add(man);
jp.add(woman);
Classs.setBounds(100, 220, 70, 20);
jp.add(Classs);
cla.setBounds(190, 220, 140, 20);
jp.add(cla);
Academy.setBounds(64,260,140,20);
jp.add(Academy);
acad.setBounds(190, 260, 140, 20);
jp.add(acad);
}
//实现按钮点击事件函数,此处连接MySQL数据库
public void actionPerformed(ActionEvent e) {
//获得用户输入的ID
String Id = id.getText();
//如果“查找”按钮被点击,则进入该分支语句
if (e.getSource()==search) {
//尝试连接数据库,如果连接失败则报错
try {
Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException ce) {
JOptionPane.showMessageDialog(ms, ce.getMessage());
}
try {
//连接数据库
Connection conn = DriverManager.getConnection(url,user,password);
Statement stmt = conn.createStatement();
//执行sql语句
ResultSet rs = stmt.executeQuery("select * from STU");
//该while语句获得数据库中的信息
while(rs.next()) {
String idd = rs.getString("ID");
if(Id.equals(idd)) {
nm.setText(rs.getString("Name"));
if(rs.getString("Sex").equals("男")) {
man.setSelected(true);
}
else {
woman.setSelected(true);
}
cla.setText(rs.getString("Class"));
acad.setText(rs.getString("Academy"));
}
}
}
catch(SQLException se) {
JOptionPane.showMessageDialog(ms, se.getMessage());
}
}
else {
id.setText("");
}
}
//利用主函数让登录界面显现
public static void main(String args[]) {
MessageSearch sch = new MessageSearch();
}
}
所有的界面都是在构造函数里定义并实现界面,利用主函数显现界面。