运行截图

项目说明:

本系统界面我个人就从简设计了,本来打算使用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学生管理系统(界面版)的更多相关文章

  1. 学生管理系统CLI版

    学生管理系统CLI版 学生类 package com.itheima_03; public class Student { String sid; String name; String age; S ...

  2. Java学生管理系统项目案例

    这是一个不错的Java学生管理系统项目案例,希望能够帮到大家的学习吧. 分代码如下 package com.student.util; import java.sql.Connection; impo ...

  3. Java学生管理系统(IO版)

    图解: cade: student.java /* * 这是我的学生类 */ public class Student { //学号 private String id; //姓名 private S ...

  4. Java学生管理系统(连接数据库查询)超详细

    这几天逼着交Java,借鉴各位师傅的做出来这么个简陋的东西,各位大师傅不要笑我.(学都没有学过Java的我,QAQ~) 下面针对的都是SQL Server系列的连接,如果你使用MySQL那么不必看关于 ...

  5. java学生管理系统

    student类 package cn.itheima.Manag; /** * *标准类 * **/public class Student { //学号 private String id; // ...

  6. Java学生管理系统(详解)

    相信大部分人都有接触过这个 Java 小项目--学生管理系统,下面会分享我在做这个项目时的一些方法以及程序代码供大家参考(最后附上完整的项目代码). 首本人只是个初学Java的小白,可能项目中有许多地 ...

  7. 模拟斗地主和学生管理系统 IO 版

    1.模拟斗地主 public class PlayCards { public static void main(String[] args) { String[] color = {"黑桃 ...

  8. Java小例子(学习整理)-----学生管理系统-控制台版

    1.功能介绍: 首先,这个小案例没有使用数据库,用集合的形式暂时保存数据,做测试! 功能: 增加学生信息 删除学生信息 修改学生信息 查询学生信息:  按照学号(精确查询)  按照姓名(模糊查询) 打 ...

  9. java学生管理系统(增、删、改、查功能)

    package mm; import java.util.Scanner;import java.util.ArrayList; class Student1 { private String stu ...

  10. C语言学生管理系统完善版

    #include<stdio.h>#include<string.h>#include <stdlib.h>#define M 100struct score    ...

随机推荐

  1. [转帖]Native Memory Tracking 详解(3):追踪区域分析(二)

    https://www.modb.pro/db/539804 上篇文章 Native Memory Tracking 详解(2):追踪区域分析(一) 中,分享了NMT追踪区域的部分内存类型--Java ...

  2. TS声明promise返回来的数据类型

    promise返回来的数据类型 interface backResult{ code: number, data: { name:string,age:number}[], //数组里面的对象类型,这 ...

  3. flask session 伪造

    flask session 伪造 一.session的作用 由于http协议是一个无状态的协议,也就是说同一个用户第一次请求和第二次请求是完全没有关系的,但是现在的网站基本上有登录使用的功能,这就要求 ...

  4. [postgres]配置主从异步流复制

    前言 环境信息 IP 角色 操作系统 PostgreSQL版本 192.168.1.112 主库 Debian 12 15.3 192.168.1.113 从库 Debian 12 15.3 配置主从 ...

  5. Vue核心概念与其指令

    Vue简述 Vue是一套构建用户UI界面的前端框架. 构建用户界面的意思是:往html中填充数据,框架的意思是:一套开发规范.   Vue的特点 1.数据驱动视图 当页面是一个普通的数据展示时,数据改 ...

  6. 阿里云数仓Dataworks数据导出到文件step by step

    背景 假设你在阿里云上Dataworks的空间space下有一个表table_A,想要把它的数据导出到文件以供后续使用,但是数据量又很多,从浏览器复制不太现实.阿里云提供了Java和Python版本的 ...

  7. 4.if语句--《Python编程:从入门到实践》

    4.1 检查多个条件   1.使用 and 检查多个条件   2.使用 or 检查多个条件 4.2 检查特定值是否包含在列表中   使用 in 检查特定值是否在列表中 >>> req ...

  8. 今天才知道 Ping 命令的意义

    当ping一个域名的时候  可以知道这个域名的解析情况,也可以知道 当前电脑是否联通了 域名. 可以看到 diandaxia.com 的域名解析是 112.124.182.113 ,而www.dian ...

  9. DBGRIDEH 底部多列 发现

    1.设置底部行数 2.点击footers 单独对每一行进行设置 3.单独对这两行 进行设置 5.看下辅助 所以用的时候可以这样用:WeiTopTradeShow.FieldColumns['top_x ...

  10. Python-pymysql查询MySQL的表

    一.安装pymysql py -m pip install pymysql; 二.创建表并插入数据 CREATE TABLE `course` ( `course_id` varchar(10) DE ...