第一次发布自己写的代码,有点简单,使用到了MySQL保存学生信息,还有文件保存个人信息,做的还不是很完善,如果有什么建议欢迎在评论或是私信向我提出,谢谢
登录界面
![](https://img-blog.csdnimg.cn/img_convert/c89d2d829cad762b88f3ec89fbf01cf1.png)
![](https://img-blog.csdnimg.cn/img_convert/2ce96b6066b1af07134ae371eead30f5.png)
package Adminni;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Register extends JFrame implements ActionListener {
JLabel txt1=new JLabel("欢迎登录学生成绩管理系统");
JLabel txt2=new JLabel("请选择您的身份");
JButton b1=new JButton("学生");
JButton b2=new JButton("教师");
Panel p1=new Panel();
public Register(){
setTitle("学生成绩管理系统");
setSize(400,300);
setVisible(true);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setLayout(new GridLayout(3,1));
setLocation(800,400);
add(txt1);
add(txt2);
add(p1);
p1.add(b1);
p1.add(b2);
txt1.setHorizontalAlignment(SwingConstants.CENTER);
txt1.setFont(new Font("",1,20));
txt2.setHorizontalAlignment(SwingConstants.CENTER);
txt2.setFont(new Font("",1,20));
b1.addActionListener(this);
b2.addActionListener(this);
}
public static void main(String[] args) {
new Register();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource()==b1){
new stu_register();
setVisible(false);
}
if (e.getSource()==b2){
new tea_register();
setVisible(false);
}
}
}
package Adminni;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
public class stu_register extends JFrame implements ActionListener {
public static String name;
public static String no;
public static String C;
public static String Data;
public static String LInux;
public static String JAVA;
public static String sum;
public static Stu_information d=new Stu_information();
public static final String DRIVER="com.mysql.jdbc.Driver";
public static final String URL="jdbc:mysql://localhost:3306/test1";
public static final String USER="root";
public static final String PASSWORD="123456";
JLabel jl1=new JLabel("请输入姓名和学号");
JLabel jl2=new JLabel("姓名:");
JTextField txt1=new JTextField(25);
JLabel jl3=new JLabel("学号:");
JTextField txt2=new JTextField(25);
Panel p1=new Panel();
Panel p2=new Panel();
JButton b1=new JButton("确定");
public stu_register(){
setSize(400,300);
setTitle("学生端");
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new FlowLayout());
setLocation(800,400);
add(jl1);
jl1.setFont(new Font("",1,20));
add(p1);
p1.add(jl2);
jl2.setFont(new Font("",1,20));
p1.add(txt1);
add(p2);
p2.add(jl3);
jl3.setFont(new Font("",1,20));
p2.add(txt2);
add(b1);
b1.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
PreparedStatement pstmt = null;
Connection con=null;
try {
Class.forName("com.mysql.jdbc.Driver");
con= DriverManager.getConnection(URL, USER, PASSWORD);//创建一个数据库连接
System.out.println("连接成功");
String sql="SELECT * FROM stuname(DEFAULT,?)";
pstmt = con.prepareStatement(sql);// 对sql语句的预编译
pstmt.setString(1, d.getName());// 设置sql语句中的第一个"?"为name属性
ResultSet result = pstmt.executeQuery("SELECT * FROM student");// 产生执行结果集
while (result.next()){
if (txt1.getText().equals(result.getString("stuname"))){
name =txt1.getText();
if (txt2.getText().equals(result.getString("stusno")))
{no=txt2.getText();
C=result.getString("stuc") ;
Data=result.getString("studata");
JAVA=result.getString("stujava");
LInux=result.getString("stulinux");
int c1=Integer.parseInt(C),data1=Integer.parseInt(Data),
java1=Integer.parseInt(JAVA),linux1=Integer.parseInt(LInux);
sum= String.valueOf(c1+java1+linux1+data1);
new stu_mainwin();
}
else {
JOptionPane.showMessageDialog(null,"学号错误");
}
}
}
String r1="UPDATE student set stusum ='"+stu_register.sum+"' where stuname='"+txt1.getText()+"'";
pstmt.executeUpdate(r1);
} catch (Exception e1) {
e1.printStackTrace();
}
}
}
学生界面
![](https://img-blog.csdnimg.cn/img_convert/915f16487d8a238b1479c0d3302ae5e8.png)
教师界面
![](https://img-blog.csdnimg.cn/img_convert/07ac91a5ab8463d9e59aa6ef1cf58658.png)
package Adminni;
import javax.swing.*;
import operation.*;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import java.awt.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Hashtable;
public class tea_mainwin extends Panel implements TreeSelectionListener {
public static Stu_information d=new Stu_information();
public static final String DRIVER="com.mysql.jdbc.Driver";
public static final String URL="jdbc:mysql://localhost:3306/test1";
public static final String USER="root";
public static final String PASSWORD="123456";
JTree tree=null;
JTextArea txt=new JTextArea(22,50);
public tea_mainwin(){
JFrame f=new JFrame();
Hashtable f1=new Hashtable();
String [] s1={"新建学生信息","显示所有学生信息","退出"};
String[] s2={"修改学生信息","查找学生信息","删除学生信息"};
f1.put("编辑",s2);
f1.put("开始", s1);
tree=new JTree(f1);
JScrollPane scrollPane1=new JScrollPane();
JScrollPane scrollPane2=new JScrollPane();
scrollPane1.setViewportView(tree);
scrollPane2.setViewportView(txt);
Container con=f.getContentPane();
con.add(scrollPane1);
con.add(scrollPane2);
tree.addTreeSelectionListener(this);
JSplitPane splitPane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,scrollPane1, scrollPane2);
f.add(splitPane);
f.setSize(800,500);
f.setVisible(true);
f.setLocation(500,300);
f.setTitle("学生成绩管理系统教师端");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void valueChanged(TreeSelectionEvent e) {
if (e.getSource() == tree) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
if (node.isLeaf()) {
String str = node.toString();
if (str.equals("新建学生信息")) {
new stu_new();
}
if (str.equals("退出")){
System.exit(0);
}
if (str.equals("修改学生信息")){
new stu_change();
}
if (str.equals("查找学生信息")){
new stu_find();
}
if (str.equals("删除学生信息")){
new stu_delete();
}
if (str.equals("显示所有学生信息")){
show1();
}
}
}
}
public void show1(){
txt.setText("以下信息按照总分降序排列\n\n\n");
String s;
PreparedStatement pstmt = null;
Connection con = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(tea_mainwin.URL, tea_mainwin.USER, tea_mainwin.PASSWORD);//创建一个数据库连接
System.out.println("连接成功");
String sql = "SELECT * FROM stuname(DEFAULT,?)";
pstmt = con.prepareStatement(sql);// 对sql语句的预编译
pstmt.setString(1, tea_mainwin.d.getName());// 设置sql语句中的第一个"?"为name属性
rs = pstmt.executeQuery("SELECT * FROM student order by stusum desc");// 产生执行结果集
while (rs.next()) {
s = "学生信息如下:\n 姓名:" + rs.getString("stuname") + "\t学号" + rs.getString("stusno") + "\tC语言程序设计" + rs.getString("stuc") +
"\n数据库管理系统:" + rs.getString("studata")+ "\tLinux:" + rs.getString("stulinux") + "\tJava程序设计:" + rs.getString("stujava") +
"\t总成绩:" + rs.getString("stusum")+"\n\n";
txt.append(s);
}
} catch (Exception e1) {
e1.printStackTrace();
}
}
}