基于JavaSwing+mysql开发一个学生社团管理系统设计和实现

 更新时间:2021年08月18日 11:16:39   作者:程序员囧辉  
项目使用Java swing+mysql开发,可实现基础数据维护、用户登录注册、社团信息列表查看、社团信息添加、社团信息修改、社团信息删除以及退出注销等功能、界面设计比较简单易学、适合作为Java课设设计以及学习技术使用,需要的朋友参考下吧

前言:

项目是使用Java swing+mysql开发,可实现基础数据维护、用户登录注册、社团信息列表查看、社团信息添加、社团信息修改、社团信息删除以及退出注销等功能、界面设计比较简单易学、适合作为Java课设设计以及学习技术使用。

引言

随着全球信息化的迅猛发展,高效规模不断壮大,协会人数急剧增加,有必要开发一个学生社团管理系统来提高社联对社团的管理效率,学生社团管理系统将逐渐取代传统的人工管理模式。本文采用Java+swing+mysql作为开发技术,以Java为编程语言,开发一个基javaSwing的学生社团管理系统。该系统可以对社团工作进行快速、高效的管理,为社团之间和社团会员之间提供一个良好的信息交流的平台,让社团成员可以展示自己的风采,及时了解社团的新动态,营造一个现代化的学习生活环境。

主要技术和工具:

eclipse+JDK1..8+Navicat 数据库可视化工具+swing +mysql

功能截图:

用户登录注册:
用户输入账号密码进行登录、没注册的用户点击注册按钮进行用户信息注册、注册后即可成功登录查看社团信息。

社团列表查看:

社团信息添加:

录入社团相关信息完成社团添加操作

社团信息修改:

社团信息删除:

注销退出:

注销退出执行页面关闭操作。

关键代码:

用户登录:

/**
 * 登录主界面
 * @author admin
 *
 */
public class LoginFrame extends JFrame {
	private static final long serialVersionUID = 1L;
	
	// 登录背景和 Logo 图片颜色
	Color logoPaneColor = new Color(230, 230, 250);
	Color mainPaneColor = new Color(230, 230, 250);
	Color mainFrameColor = new Color(186, 110, 64);
	Color logoFramColor = new Color(186, 110, 64);
	
	JLayeredPane layeredPane = new JLayeredPane(); // 面板层
	ImageIcon bgImage = new ImageIcon("./img/bgImage.png"); // 背景图片
	ImageIcon lgImage = new ImageIcon("./img/login1.png"); // 登录图片
	
	JPanel bgPanel = new JPanel(); // 背景面板
	JPanel mainPanel = new JPanel(); // 登陆面板
	JPanel logoPanel = new JPanel(); // 企业logo
	
	final JLabel user_name = new JLabel("用户名:");   // 登录标签
	final JLabel user_password = new JLabel("密   码:");// 密码标签
	
	JButton button_ok = new JButton("登陆"); // 确认按钮
	JButton btRegister=new JButton("注册"); // 注册按钮
	JButton button_cansel = new JButton("退出");// 退出按钮
	
	JTextField text_name = new JTextField(""); // 登陆用户名
	JPasswordField text_password = new JPasswordField(""); // 登陆密码
	JFrame loginFrame = null; // 登录窗口类
	
	/**
	 * 登录按钮点击监听类:收集登录信息,并校验;校验成功,则进入系统主页面
	 * @author admin
	 *
	 */
	class LoginOKAction implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			String userName = text_name.getText();
			String password = new String(text_password.getPassword());
			
			// 判空操作
			if(userName.equals("") || password.equals("")) {
				// 弹出提示信息,操作结束
				JOptionPane.showMessageDialog(loginFrame, "登录用户名和密码不能为空!", "提示", JOptionPane.PLAIN_MESSAGE);
				return;
			}
			
			// 根据用户名和密码进行查询
			boolean flag = UserManager.login(userName, password);
			
			// 校验失败,返回
			if(!flag) {
				JOptionPane.showMessageDialog(loginFrame, "登录用户名不匹配!", "提示", JOptionPane.PLAIN_MESSAGE);
				return;
			}
			
			// 成功,进入主页
			setVisible(false);
			new MainFrame().setVisible(true);
		}
 
	}
 
	/**
	 * 登录 Frame 的构造函数
	 */
	public LoginFrame() {
		super("学生社团管理系统");
		initialize();
		this.loginFrame = this;
	}
 
	
	/**
	 * 程序 main 函数
	 * @param args
	 */
	public static void main(String[] args) {
		// 创建登录 Frame 进入应用登录页面
		new LoginFrame();
	}
}

添加社团信息:

 
public class AddFrame extends AbstractFormFrame {
	private static final long serialVersionUID = 1L;
	/**
     * 主界面配置
     */
    public AddFrame() {
        super("添加");
        // 居中
     	GUIUtil.toCenter(this);
    }
 
    @Override
    public void submit(CommunityInfo community) {
        // 判唯一
        CommunityInfo tmp = CommunityManager.queryOne(community.getName());
        if (tmp != null) {
            JOptionPane.showMessageDialog(this, "社团名称已存在!");
            return;
        }
 
        // 添加到记录列表
        CommunityManager.add(community);
 
        // 提示
        JOptionPane.showMessageDialog(this, "添加成功!");
    }
}

备注:项目来于网络、作者整理优化测试、若有侵权联系作者删除

总结:

经过近期对 java 相关知识面向对象程序设计、Java swing等的掌握和学习,让我更加了解到 java 学习的重要性。在开发这个社团系统,我完成多个实验以及测试,在这个阶段的学习开发中,我从认识到熟悉,而后到能够自主运用。通过对 java swing知识以及数据库的设计相关的了解,我发现它确实有很多方便之处,它集抽象性、封装性、继承性和多态性于一体,实现了代码重用和代码扩充,提高了软件开发的效率。对于我们这个专业来说学好 java 语言是很重要的,所以在开发这个项目的过程中我都尽力理解 java 编程思想、掌握基本技巧,尽量学到最多的知识。 我学习程序设计的基本目的就是培养描述实际问题的程序化解决方案的关键技能,总体来说 java 面向对象程序设计是一门实践性比较强的语言。

源码下载

到此这篇关于基于JavaSwing+mysql开发一个学生社团管理系统设计和实现的文章就介绍到这了,更多相关Java学生社团管理系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springboot+rabbitmq实现指定消费者才能消费的方法

    springboot+rabbitmq实现指定消费者才能消费的方法

    当项目部署到测试环境后,QA测试过程中,总是“莫名其妙”的发现所保存的用户付款单数据有问题。这篇文章主要介绍了springboot+rabbitmq实现指定消费者才能消费,需要的朋友可以参考下
    2021-11-11
  • FP-Growth算法的Java实现+具体实现思路+代码

    FP-Growth算法的Java实现+具体实现思路+代码

    FP-Growth算法比Apriori算法快很多(但是却比不上时间,how time slipped away)。在网上搜索后发现Java实现的FP-Growth算法很少,且大多数不太能理解):太菜。所以就自己实现了一下。这篇文章重点介绍一下我的Java实现
    2021-06-06
  • Mybatis多参数及实体对象传递实例讲解

    Mybatis多参数及实体对象传递实例讲解

    在使用Mybatis的时候,经常会有各种各样的参数传递,不同类型,不同个数的参数,下面小编通过例子给大家讲解下Mybatis多参数及实体对象传递,一起看看吧
    2016-12-12
  • SpringCloud添加客户端Eureka Client过程解析

    SpringCloud添加客户端Eureka Client过程解析

    这篇文章主要介绍了SpringCloud添加客户端Eureka Client过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Maven项目报错:“ SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”的解决方案

    Maven项目报错:“ SLF4J: Failed to load class “org.slf4j.imp

    这篇文章主要给大家介绍了关于Maven项目报错:“ SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder ”的解决方案,文中给出详细的解决思路与方法,需要的朋友可以参考下
    2022-03-03
  • SpringBoot中的事务处理问题

    SpringBoot中的事务处理问题

    这篇文章主要介绍了SpringBoot中的事务处理问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Java8函数式接口Predicate用法示例详解

    Java8函数式接口Predicate用法示例详解

    这篇文章主要为大家介绍了Java8函数式接口Predicate用法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • java 缓冲流的概念使用方法以及实例详解

    java 缓冲流的概念使用方法以及实例详解

    这篇文章主要为大家介绍了java 缓冲流的概念使用方法以及实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 基于SSM框架实现简单的登录注册的示例代码

    基于SSM框架实现简单的登录注册的示例代码

    这篇文章主要介绍了基于SSM框架实现简单的登录注册的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Springboot web项目打包实现过程解析

    Springboot web项目打包实现过程解析

    这篇文章主要介绍了Springboot web项目打包实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08

最新评论