源码编号:F-A01
项目类型:Java SE项目(awt+swing)
用户类型:单角色(只有管理员)
主要技术:java、awt、swing等技术
开发工具:Eclipse
运行工具:Eclipse/MyEclipse/IDEA都可以,eclipse最兼容
数 据 库:MySQL5.7以上
数据库表数量:1张表
视图数量:5个左右
项目简介:本系统主要有对学生信息的增删改查操作功能,源码开源免费
项目内容
项目骨架
数据库表
1.主界面
2.添加学生信息
3.更改学生信息
部分核心代码
package edu.ymkz.frame;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.Box;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.AbstractTableModel;
/**
* @author Administrator 学生管理系统 实现: crud所有功能
*/
public class Demo{
public static void main(String args[]) {
// 创建一个面板对象
MyJFrame mf = new MyJFrame();
}
}
// 定义一个我自己的主界面
class MyJFrame extends JFrame implements ActionListener {
JTable jt;
MyJTable mjt;
// 必要地分布板块
JPanel jpup, jpdown, jpcenter;
// 实现数据的 增删查改即crud操作
JButton[] button = new JButton[4];
// 用来辅助查找模块的框框
JTextField text;
JScrollPane jsp = null;
/*
* 构造函数 功能: 实现窗口的初始化
*/
MyJFrame() {
mjt = new MyJTable();
jt = new JTable(mjt);
// jt.setModel(mjt);
jpup = new JPanel();
jpdown = new JPanel();
jpcenter = new JPanel();
text = new JTextField(14);
button[0] = new JButton(" 查询 ");
button[1] = new JButton(" 添加 ");
button[2] = new JButton(" 修改 ");
button[3] = new JButton(" 删除 ");
for (int i = 0; i < 4; i++)
button[i].addActionListener(this);
jpup.add(new JLabel("用户信息"));
jpup.add(text);
jpup.add(button[0]);
for (int i = 1; i < 4; i++)
jpdown.add(button[i]);
jt.setBackground(Color.CYAN);
jsp = new JScrollPane(jt);
jpcenter.add(jsp);
// 设置一些布局 borderLaRyou
this.add(jpup, BorderLayout.NORTH);
this.add(jpcenter, BorderLayout.CENTER);
this.add(jpdown, BorderLayout.SOUTH);
// 设置窗口的标题
this.setTitle("学生信息管理系统");
// 设置窗口的尺寸
this.setSize(500, 300);
// 窗口的尺寸不可改变
// this.setResizable(false);
// 设置窗口是否可见
this.setVisible(true);
// 设置窗口的注销模式
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
int i = 0;
for (i = 0; i < 4; i++)
if (e.getSource() == button[i])
break;
String cmd = text.getText().toString().trim();
switch (i) {
// 查询
case 0:
if (cmd.isEmpty()) {
JOptionPane.showMessageDialog(button[0], "请输入用户名");
mjt = new MyJTable();
} else
mjt = new MyJTable(cmd);
jt.setModel(mjt);
break;
// 添加
case 1:
AddJFrame myAdd = new AddJFrame(this, true);
mjt = new MyJTable();
jt.setModel(mjt);
break;
// 修改
case 2:
// 需要得到我们点中的行列号
int rownum = this.jt.getSelectedRow();
if (-1 == rownum) {
JOptionPane.showMessageDialog(this, "请选中你要修改人");
return;
} else {
String name = (String) mjt.getValueAt(rownum, 0);
UpdataJFrame Uj = new UpdataJFrame(this, true, name);
mjt = new MyJTable();
jt.setModel(mjt);
}
break;
// 删除
case 3:
int row = this