java学生管理系统(界面版)
运行截图



项目说明:
本系统界面我个人就从简设计了,本来打算使用windowbuilder插件设计的,可想到使用windowbuilder插件之后导致代码冗余,会影响到代码可读性,可能对小白不友好。虽然界面设计简单,但是功能上我会尽量想着写全,当然对于页面你可以增加自己的设计,比如增加一个背景图片等,网上都有指导,对于界面美观度从简了。
关键代码:
package student.view; import java.awt.*;
import javax.swing.*; import student.dao.StuDao;
import student.model.Student; import java.util.*;
/**
* 查询列表类
*
*/
public class ListFrame extends JFrame {
JButton buttonreturn = new JButton("返回");
JTable jtable;
JScrollPane jscrollpane = new JScrollPane(); Vector columnNames = null;
Vector rowData = null; public ListFrame() {
ArrayList<Student> students = new StuDao().listStu();
JPanel jpforbutton = new JPanel(); columnNames = new Vector();
columnNames.add("学号");
columnNames.add("姓名");
columnNames.add("性别");
columnNames.add("出生日期");
rowData = new Vector();
jpforbutton.add(buttonreturn);
for (int i = 0; i < students.size(); i++) {
Vector hang = new Vector();
hang.add(students.get(i).getNumber());
hang.add(students.get(i).getName());
hang.add(students.get(i).getSex());
hang.add(students.get(i).getBirthday());
rowData.add(hang);
} jtable = new JTable(rowData, columnNames);
jscrollpane = new JScrollPane(jtable); this.setLayout(new FlowLayout());
this.add(jscrollpane);
this.add(jpforbutton);
// 窗口标题
this.setTitle("学生系统-学生列表");
// 窗体大小
this.setSize(500, 340);
// 设置图标
this.setIconImage((new ImageIcon("images/logo.jpg")).getImage());
// 设置可关闭进程
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
// 获得屏幕宽度
int width = Toolkit.getDefaultToolkit().getScreenSize().width;
// 获得屏幕高度
int height = Toolkit.getDefaultToolkit().getScreenSize().height;
// 居中显示
this.setLocation((width - 500) / 2, (height - 400) / 2);
// 设置窗体可见
this.setVisible(true);
// 可改变窗体大小
this.setResizable(false); } }
数据库
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`number` varchar(20) NOT NULL,
`name` varchar(10) DEFAULT NULL,
`sex` varchar(10) DEFAULT NULL,
`birthday` varchar(255) DEFAULT NULL,
PRIMARY KEY (`number`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES ('12345', '12345', '12345', '12345');
INSERT INTO `student` VALUES ('123456', '男', '李四', '2020-12-12');
INSERT INTO `student` VALUES ('324423', '男', '士大夫', '2020-12-12');
INSERT INTO `student` VALUES ('45372', '男', '离得近', '2020-12-12');
源码获取:
本来打算放在github上的,考虑到许多小伙伴不会用github,就放在我个人公众号,关注公众号 java一号 回复 “学生” 即可
如何运行:
1. 先说下运行环境吧,java+eclipse+mysql,所以首先java环境得有,本地安装了mysql数据库,关于数据库图形化界面工具我用得是navicat;
2. 创建数据库db_stu,在获取代码文件中有个db_stu.sql文件,记事本打开复制到刚才创建得db_stu数据库直接查询运行即可
3. 打开eclipse


点击运行

友情提示
项目主要是用来练习java的面向对象思想,至于java中的swing编程知识,也就是界面编程建议不要花过多时间美化设计,完全没有必要,市场上很少会使用java Swing去编cs软件。
有问题可以联系 公众号 程序三两行
java学生管理系统(界面版)的更多相关文章
- 学生管理系统CLI版
学生管理系统CLI版 学生类 package com.itheima_03; public class Student { String sid; String name; String age; S ...
- Java学生管理系统项目案例
这是一个不错的Java学生管理系统项目案例,希望能够帮到大家的学习吧. 分代码如下 package com.student.util; import java.sql.Connection; impo ...
- Java学生管理系统(IO版)
图解: cade: student.java /* * 这是我的学生类 */ public class Student { //学号 private String id; //姓名 private S ...
- Java学生管理系统(连接数据库查询)超详细
这几天逼着交Java,借鉴各位师傅的做出来这么个简陋的东西,各位大师傅不要笑我.(学都没有学过Java的我,QAQ~) 下面针对的都是SQL Server系列的连接,如果你使用MySQL那么不必看关于 ...
- java学生管理系统
student类 package cn.itheima.Manag; /** * *标准类 * **/public class Student { //学号 private String id; // ...
- Java学生管理系统(详解)
相信大部分人都有接触过这个 Java 小项目--学生管理系统,下面会分享我在做这个项目时的一些方法以及程序代码供大家参考(最后附上完整的项目代码). 首本人只是个初学Java的小白,可能项目中有许多地 ...
- 模拟斗地主和学生管理系统 IO 版
1.模拟斗地主 public class PlayCards { public static void main(String[] args) { String[] color = {"黑桃 ...
- Java小例子(学习整理)-----学生管理系统-控制台版
1.功能介绍: 首先,这个小案例没有使用数据库,用集合的形式暂时保存数据,做测试! 功能: 增加学生信息 删除学生信息 修改学生信息 查询学生信息: 按照学号(精确查询) 按照姓名(模糊查询) 打 ...
- java学生管理系统(增、删、改、查功能)
package mm; import java.util.Scanner;import java.util.ArrayList; class Student1 { private String stu ...
- C语言学生管理系统完善版
#include<stdio.h>#include<string.h>#include <stdlib.h>#define M 100struct score ...
随机推荐
- [转帖]Native Memory Tracking 详解(3):追踪区域分析(二)
https://www.modb.pro/db/539804 上篇文章 Native Memory Tracking 详解(2):追踪区域分析(一) 中,分享了NMT追踪区域的部分内存类型--Java ...
- TS声明promise返回来的数据类型
promise返回来的数据类型 interface backResult{ code: number, data: { name:string,age:number}[], //数组里面的对象类型,这 ...
- flask session 伪造
flask session 伪造 一.session的作用 由于http协议是一个无状态的协议,也就是说同一个用户第一次请求和第二次请求是完全没有关系的,但是现在的网站基本上有登录使用的功能,这就要求 ...
- [postgres]配置主从异步流复制
前言 环境信息 IP 角色 操作系统 PostgreSQL版本 192.168.1.112 主库 Debian 12 15.3 192.168.1.113 从库 Debian 12 15.3 配置主从 ...
- Vue核心概念与其指令
Vue简述 Vue是一套构建用户UI界面的前端框架. 构建用户界面的意思是:往html中填充数据,框架的意思是:一套开发规范. Vue的特点 1.数据驱动视图 当页面是一个普通的数据展示时,数据改 ...
- 阿里云数仓Dataworks数据导出到文件step by step
背景 假设你在阿里云上Dataworks的空间space下有一个表table_A,想要把它的数据导出到文件以供后续使用,但是数据量又很多,从浏览器复制不太现实.阿里云提供了Java和Python版本的 ...
- 4.if语句--《Python编程:从入门到实践》
4.1 检查多个条件 1.使用 and 检查多个条件 2.使用 or 检查多个条件 4.2 检查特定值是否包含在列表中 使用 in 检查特定值是否在列表中 >>> req ...
- 今天才知道 Ping 命令的意义
当ping一个域名的时候 可以知道这个域名的解析情况,也可以知道 当前电脑是否联通了 域名. 可以看到 diandaxia.com 的域名解析是 112.124.182.113 ,而www.dian ...
- DBGRIDEH 底部多列 发现
1.设置底部行数 2.点击footers 单独对每一行进行设置 3.单独对这两行 进行设置 5.看下辅助 所以用的时候可以这样用:WeiTopTradeShow.FieldColumns['top_x ...
- Python-pymysql查询MySQL的表
一.安装pymysql py -m pip install pymysql; 二.创建表并插入数据 CREATE TABLE `course` ( `course_id` varchar(10) DE ...