运行截图

项目说明:

本系统界面我个人就从简设计了,本来打算使用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. [转帖]查看堆内对象的工具:jmap

    文章目录 用途 命令格式 示例 一,no option 二,heap 三,histo[:live] 四,clstats 五,finalizerinfo 六,dump:<dump-options& ...

  2. [转帖]Java 类加载器

      类的生命周期和加载过程 在Java中数据类型分为基本数据类型和引用数据类型.基本数据类型由虚拟机预先定义,引用数据类型则需要进行类的加载.引用类型,Java 将其细分为四种:类.接口.数组类和泛型 ...

  3. [转帖]C2C - False Sharing Detection in Linux Perf

    https://joemario.github.io/blog/2016/09/01/c2c-blog/ Do you run your application in a NUMA environme ...

  4. Nginx 解决 413 问题的配置.

    Nginx 解决 413 问题的配置. Nginx 容易出现一个错误提示问题: worker_processes 1; events { worker_connections 1024; } http ...

  5. 【计数,DP】ABC306Ex Balance Scale

    Problem Link 现在有 \(n\) 个球,每个球有一个重量,重量未知.接下来会进行 \(m\) 次称重,每次给定 \(a_i\) 和 \(b_i\),比较这两个球的重量,结果可能是 \(&g ...

  6. echarts使用transform缩放后导致图标模糊

    echarts使用transform缩放后导致图标模糊 --的解决办法 当使用了transform: scale(x,y)缩放后致使echarts图表模糊.怎么解决这个问题呢? 第一种解决办法:将ca ...

  7. Qt中qreal的坑

    今天在写Qt的时候遇到了一个bug:同样一个方程在PC机上算的结果是11,但在arm-Linux设备上算出来的结果是12,我自己用计算器按出来的结果也是12. 该段程序是这样的: maxnumbar ...

  8. Spring源码之XML文件中Bean标签的解析2

    读取XML文件,创建默认bean标签对象的核心代码 在DefaultBeanDefinitionDocumentReader类中的如下方法中: protected void processBeanDe ...

  9. C/C++ 获取自身IP与域名片段

    判断大端序小端序: 通常情况下,数值在内存中存储的方式有两种,一种是大尾字节序,另一种是小尾,比如0x01020304这样一个数值,如果用大尾方式存储,其存储方式为01 02 03 04而用小尾方式存 ...

  10. C/C++ 实现通过FTP上传下载

    实现FTP文件下载: #include <stdio.h> #include <Windows.h> #include <WinInet.h> #pragma co ...