基于Java+MySQL+GUI的学生信息管理系统

源码编号: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
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值