基于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学生社团管理系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java使用sigar 遇到问题的快速解决方法

    java使用sigar 遇到问题的快速解决方法

    下面小编就为大家带来一篇java使用sigar 遇到问题的快速解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • 解决mybatis-plus3.1.1版本使用lambda表达式查询报错的方法

    解决mybatis-plus3.1.1版本使用lambda表达式查询报错的方法

    这篇文章主要介绍了解决mybatis-plus3.1.1版本使用lambda表达式查询报错的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Java 散列存储详解及简单示例

    Java 散列存储详解及简单示例

    这篇文章主要介绍了Java 散列存储详解及简单示例的相关资料,需要的朋友可以参考下
    2017-02-02
  • SpringCloud网关Gateway架构解析

    SpringCloud网关Gateway架构解析

    这篇文章主要介绍了SpringCloud网关Gateway架构解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • nexus安装及配置图文教程

    nexus安装及配置图文教程

    Nexus 是Maven仓库管理器,通过nexus可以搭建maven仓库,同时nexus还提供强大的仓库管理功能,构件搜索功能等,文中有非常详细的图文介绍,对小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05
  • 深入浅出MappedByteBuffer(推荐)

    深入浅出MappedByteBuffer(推荐)

    MappedByteBuffer使用虚拟内存,因此分配(map)的内存大小不受JVM的-Xmx参数限制,但是也是有大小限制的,这篇文章主要介绍了MappedByteBuffer的基本知识,需要的朋友可以参考下
    2022-12-12
  • idea找不到xxx依赖项的问题及解决方法

    idea找不到xxx依赖项的问题及解决方法

    今天下载这个依赖一直报错,红色,显示错误找不到依赖项,使用了3个步骤,不太明白哪部解决的,下面小编给大家分享idea找不到xxx依赖项的问题及解决方法,感兴趣的朋友跟随小编一起看看吧
    2024-06-06
  • Spring注解之@PropertySource详解

    Spring注解之@PropertySource详解

    这篇文章主要介绍了Spring注解之@PropertySource详解,@PropertySource注解用于指定资源文件读取的位置,它不仅能读取properties文件,也能读取xml文件,并且通过YAML解析器,配合自定义PropertySourceFactory实现解析YAML文件,需要的朋友可以参考下
    2023-11-11
  • JVM的基本介绍以及垃圾回收

    JVM的基本介绍以及垃圾回收

    垃圾回收(Garbage Collection,GC),顾名思义就是释放垃圾占用的空间,防止内存泄露,这篇文章主要给大家介绍了关于JVM垃圾回收的相关资料,需要的朋友可以参考下
    2021-09-09
  • Java并发编程之ConcurrentLinkedQueue解读

    Java并发编程之ConcurrentLinkedQueue解读

    这篇文章主要介绍了Java并发编程之ConcurrentLinkedQueue解读,非阻塞的实现方式则可以使用循环CAS的方式来实现,而ConcurrentLinkedQueue就是juc包中自带的经典非堵塞方式实现的工具类,需要的朋友可以参考下
    2023-12-12

最新评论