栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java课程作业——学生信息管理系统(swing实现图形化界面)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java课程作业——学生信息管理系统(swing实现图形化界面)

目录

功能:

效果图:

 项目结构:

一些细节:

Gitee:


功能:

在学生成绩数据保存到数据库的提前下实现以下功能:

1) 学生成绩新增界面设计及功能实现

2) 学生成绩查询界面设计及功能实现、支持多条件查询

3) 学生成绩修改界面设计及功能实现

4) 学生成绩删除界面设计及功能实现

5)提供学生成绩批量导入和导出的功能(txt文件)

6)  可统计学生成绩信息,课程成绩信息

第一次用swing,网上swing的相关资料相对较少,边学边写算是写出来了.

效果图:

 ​

 

 

 

 

 

 

 

 项目结构:

 

一些细节:

界面主要是通过eclipse的插件:WindowBuilder完成的,用起来还算方便,但是细节还是要自己写代码,查查API或者百度就能搞定了。

 ​在导入信息的时候需要注意格式:

如果格式错误程序就识别错误了。。。

导出信息的话只需要弄一个空的txt文件进行接收就好了。

 如果导出成功就会变成绿色,反之红色。(导入也是一样)

存储方面用mysql,使用了JdbcTemplate。

dao层:
 

public class StuDaoImpl implements StuDao {
    //注入JdbcTemplate
    private JdbcTemplate jdbcTemplate=new JdbcTemplate(JDBCUtils.getDataSource());


    @Override
    public void add(Stu stu) {
        String sql="insert into student values(?,?,?,?,?)";
        jdbcTemplate.update(sql,stu.getID(),stu.getName(),stu.getCourse(),stu.getClasses(),stu.getScore());
    }

    @Override
    public void delete(int ID,String course) {
        jdbcTemplate.update("DELETE FROM student WHERe id = ? AND course= ?",ID,course);
    }

    @Override
    public void update(Stu stu) {
        jdbcTemplate.update("UPDATE student SET NAME=?,course=?,classes=?,score=? WHERe id =?",
                stu.getName(),stu.getCourse(),stu.getClasses(),stu.getScore(),stu.getID());
    }

    @Override
    public List findAll() {
        List query = jdbcTemplate.query("select * from student",
                new BeanPropertyRowMapper(Stu.class));
        return query;
    }

    @Override
    public List findById(int id) {
        String sql="select * from student where id =?";
        List query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(Stu.class), id);
        return query;
    }

    @Override
    public List findByCourse(String course) {
        String sql="select * from student where course =?";
        List query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(Stu.class), course);
        return query;
    }

    @Override
    public List findByIdAndCourse(int id, String course) {
        String sql="select * from student where id =? and course =?";
        List query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(Stu.class), id, course);
        return query;
    }
    
    @Override
    public Stu findByRow(int row) {
        String sql="SELECt * FROM student LIMIT ?,1";
        Stu stu = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<>(Stu.class), row );
        return stu;
    }

	@Override
	public List findAllCourse() {
		String sql="SELECt DISTINCT course FROM student";
		List all=jdbcTemplate.queryForList(sql, String.class);
		return all;
	}

	@Override
	public List findAllClasses() {
		String sql="SELECt DISTINCT classes FROM student";
		List all=jdbcTemplate.queryForList(sql, String.class);
		return all;
	}

	@Override
	public List findAllStu() {
		String sql="SELECt  DISTINCT  * FROM student";
		 List query = jdbcTemplate.query(sql,
	                new BeanPropertyRowMapper(Stu.class));
	        return query;
	}

	public String findAvgCourse(String course) {
		String sql="SELECt AVG(score) FROM student WHERe course =?";
		String avg=jdbcTemplate.queryForObject(sql, String.class,course);
		return avg;
	}

	@Override
	public String findAvgPerson(int id) {
		String sql="SELECt AVG(score) FROM student WHERe id = ?";
		String avg=jdbcTemplate.queryForObject(sql, String.class,id);
		return avg;
	}

	@Override
	public String findSumPerson(int id) {
		String sql="SELECt SUM(score) FROM student WHERe id=?";
		String sum=jdbcTemplate.queryForObject(sql, String.class,id);
		return sum;
		
	}
//	SELECt MAX(score) FROM student WHERe course ='音乐'
//			SELECt MIN(score) FROM student WHERe course ='音乐'
	//SELECt SUM(score) FROM student WHERe id=103

	@Override
	public String findMaxCourse(String course) {
		String sql="SELECt MAX(score) FROM student WHERe course =?";
		String max=jdbcTemplate.queryForObject(sql, String.class,course);
		return max;
	}

	@Override
	public String findMinCourse(String course) {
		String sql="SELECt MIN(score) FROM student WHERe course =?";
		String min=jdbcTemplate.queryForObject(sql, String.class,course);
		return min;
	}

}

放一个主页面的代码: 

//初始化主页面
	private void initialize() {
		frame = new Jframe();
		frame.getContentPane().setBackground(Color.BLACK);
		frame.setTitle("主页面");
		frame.setBounds(100, 100, 529, 717);
		frame.setResizable(true);
		frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
		frame.getContentPane().setLayout(null);
		
		JPanel panel = new JPanel();
		panel.setBounds(0, 0, 511, 82);
		panel.setBackground(Color.BLACK);
		frame.getContentPane().add(panel);
		
		JButton button = new JButton("新增单个");
		button.setForeground(Color.WHITE);
		button.setBackground(Color.BLACK);
		button.setFont(new Font("宋体", Font.PLAIN, 15));
		button.setBounds(249, 28, 101, 41);
		button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
			}
		});
		button.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				//添加按钮点击进入添加界面
				new Add_Gui();		 
			}
		});
		panel.setLayout(null);
		
		JButton button_3 = new JButton("批量导出");
		button_3.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				new DeriveTips();
			}
		});
		button_3.setForeground(Color.WHITE);
		button_3.setBackground(Color.BLACK);
		button_3.setFont(new Font("宋体", Font.PLAIN, 15));
		button_3.setBounds(37, 28, 101, 41);
		panel.add(button_3);
		
		JButton button_1 = new JButton("批量导入");
		button_1.setForeground(Color.WHITE);
		button_1.setBackground(Color.BLACK);
		button_1.setFont(new Font("宋体", Font.PLAIN, 15));
		button_1.setBounds(146, 28, 97, 41);
		button_1.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				new importTips();
			}
		});
		panel.add(button_1);
		panel.add(button);
		
		JButton button_2 = new JButton("查询/修改");
		button_2.setForeground(Color.WHITE);
		button_2.setBackground(Color.BLACK);
		button_2.setFont(new Font("宋体", Font.PLAIN, 15));
		button_2.setBounds(358, 28, 110, 41);
		button_2.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				//查询按钮点击进入查询界面
				new Query_Gui();
			}
		});
		panel.add(button_2);
		
		JPanel panel_1 = new JPanel();
		panel_1.setBounds(0, 95, 445, 575);
		panel_1.setBackground(Color.BLACK);
		frame.getContentPane().add(panel_1);
		panel_1.setLayout(null);
		
		JLabel label = new JLabel("");
		label.setIcon(new ImageIcon(BdGrade.class.getResource("/img/4.jpg")));
		label.setBounds(-118, -132, 657, 694);
		panel_1.add(label);
		
	}

Gitee:

昨天刚刚学了git管理,就把这个放上去了,算是我的第一个完整项目吧。

java学生信息管理系统: 使用javaGUI实现的图形化java学生信息管理系统。 (gitee.com)

ps:前面刚刚学SSM,但是web的前端页面好乱,写出来的根本就乱七八糟的,就算后台实现了功能前端页面也是丑的一批。。要是web页面也有这样的设计工具就好了。 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/691135.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号