-
2020-06-25 11:56:22
背景
昨天实现了一个基于 Java Swing 的招生信息管理系统,这个比以前做的复杂一点,它包含两个管理功能,通过菜单切换。每个功能都有增、删、改、查,数据使用文件保存到磁盘中,可在此基础上添加或修改为任意新信息的管理功能。
本文来介绍一下这个简单系统的结构和实现要点,这是运行效果图。
功能介绍
作为 Java Swing 学习的练习题,它包含的功能有用户注册、登录;学校招生项目信息管理菜单:增、删、改、查;用户预约报班信息管理菜单:增、删、改、查。
第一步,绘制功能结构图:
第二,系统登录后的主页面,包含两个一级菜单。
第三,主菜单包括“系统功能” 和“关于”。“系统功能” 对应两个子管理功能,点击菜单时跳到对应 List 的 Frame 窗体,列表窗体都含包添加、删除、修改按钮。“关于” 菜单,点击“退出”可结束程序。
培训项目信息录入界面:
类图结构
Swing 实现简单的信息管理功能,包括增、删、改、查、列表、数据信息操作类,PrjectListFrame 和 ClassOrderListFrame 所关联的功能类是一套类似。
所以对整个系统抽取的功能类图结构如下:
JComboBox 使用坑点
使用 Swing 绘制页面的时候,发现 Box 是非常好用的容器组件。信息输入框一般是 label 和文本域,创建一个水平 Box 加入两个组件即可:
JLabel titleLabel=new JLabel("项目名称:"); Box titleRow= Box.createHorizontalBox(); titleRow.add(titleLabel); titleRow.add(titleJText);
本文的应用实现过程中,用到了 JComboBox ,因为课程预约的项目名称必须是系统录入的项目名称。需要先查询所有的项目,然后填充到 JComboBox 中,让用户选择,不用文本域,以避免无效数据的产生。
此时,如果还是直接添加到 Box 中的话,布局就会很难看:
JLabel isChoosenLabel=new JLabel("是否招满:"); jcomb.addItem("否"); jcomb.addItem("是"); jcomb.setPreferredSize(new Dimension(333, 20)); jp.add(isChoosenLabel); jp.add(jcomb); Box isChoosenBox= Box.createHorizontalBox(); isChoosenBox.add(isChoosenLabel); isChoosenBox.add(jcomb);
直接添加下拉框到 Box 的运行效果图:
这样将下拉框放在 Box 中,下拉框的大小是无法控制。解决方案:查找了一些资料,最终找到的解决方案是,将 JComboBox 放在 JPanel 中,同时设置它的最佳 Size 。
这样才能让这一项跟前面对齐,修正添加下拉框的代码:
JPanel jp=new JPanel(); JLabel isChoosenLabel=new JLabel("是否招满:"); jcomb.addItem("否"); jcomb.addItem("是"); jcomb.setPreferredSize(new Dimension(333, 20)); jp.add(isChoosenLabel); jp.add(jcomb); Box isChoosenBox= Box.createHorizontalBox(); isChoosenBox.add(jp);
jcomb.setPreferredSize(new Dimension(333, 20))
这是关键代码,它可以调整距离 Label 的位置,再运行界面就齐整了:
进一步优化: 测试发现 JComboBox 所在父组件 JPanel 如果不设置大小,那么它与底部按钮的距离会很高,导致界面不匀称。
而且 JPanel 的setSize
根本不生效 ,只有jp.setMaximumSize(new Dimension(700, 30));
才能控制面板的大小。编程启示录
对大多数读者来说,本文只有一个有价值的信息,就是 JComboBox 怎么和 Box 一起创建一行大小适中的表单界面,可点击查看运行效果。
核心代码就是这两行:
jp.setMaximumSize(new Dimension(700, 30)); // 控制面板大小 jcomb.setPreferredSize(new Dimension(333, 20)); // 控制下拉框大小
更多相关内容 -
研究生学位信息管理系统研究与设计
2020-07-04 18:48:22从研究生学位信息管理工作的实际出发,系统阐述了研究生学位信息管理系统的设计原则,分析了其结构和功能,并提出了在研究生学位信息管理工作中运用该系统的优势。 -
CS结构项目实训_C语言版_学位信息管理系统.pptx
2021-09-27 07:02:32CS结构项目实训_C语言版_学位信息管理系统.pptx -
基于Java Web的学生成绩信息管理系统_学位论文
2021-12-06 21:26:30第一章 绪论 1.1 研究背景 1.2 研究现状 1.3 研究意义与目标 1.4 全文组织结构 1.5 本章小结 ... 5.4.2 其他信息查询 5.5 管理员功能实现 5.6 本章小结 第六章 总结与展望 6.1 工作总结 6.2 研究展望 -
高校学位信息管理系统
2010-07-29 11:42:37熟悉学位信息上报的工作流程、数据需求以及学位相关数据格式,掌握基于.NET的WEB开发技术。能够对所涉及到的数据进行录入、校验、汇总、统计分析,并实现不同数据格式之间的导入、导出功能,尽可能减少教务工作人员... -
学生信息管理系统学士学位论文.doc
2021-09-24 21:20:48学生信息管理系统学士学位论文.doc -
学生信息管理系统设计学士学位论文.doc
2021-09-24 21:21:01学生信息管理系统设计学士学位论文.doc -
班级学生信息管理系统学士学位论文.doc
2021-09-15 12:43:25班级学生信息管理系统学士学位论文.doc -
MBA学位课《管理信息系统》讲义
2020-12-16 13:51:14MBA学位课《管理信息系统》讲义以实践认知世界,以实事构架世界,MBA学位课《管理信息系统》讲义总能给你...该文档为MBA学位课《管理信息系统》讲义,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看... -
研究生学位管理信息系统的设计与实现
2011-06-21 17:18:28研究生学位管理信息系统的设计与实现(优秀研究生毕业论文) -
基于Java的双学位招生管理系统的设计
2022-04-29 17:50:16信息化时代,传统的管理模式已经慢慢被淘汰,以计算机为依托的信息管理系统将 取代传统的管理模式。 双学位招生管理系统是一个功能完善并且实用有效的双学位选修管理软件,系 统中功能应包含学生在线报名、录取计划... -
银行信息管理系统的设计与实现学士学位论文.doc
2021-09-15 21:26:51银行信息管理系统的设计与实现学士学位论文.doc -
基于JAVA的医院门诊信息管理系统设计与实现学士学位毕业论文.pdf
2021-08-11 10:24:02基于JAVA的医院门诊信息管理系统设计与实现学士学位毕业论文.pdf -
MFC 住房管理系统
2020-03-26 00:26:25丧心病狂,极尽无聊的MFC设计足够蛋疼吧。 这里提供东南大学短学期...如果不是,这里还有银行管理系统和图书管理系统。 做的简单随意,可以供参考。学长倾情奉献,绝对不忽悠。 别问我是谁,我只是个乐于奉献的家伙。 -
电子科技大学 工商管理双学位 管理信息本系统课件
2014-12-20 23:16:31电子科技大学 工商管理双学位 管理信息本系统课件 官方正版 -
苗圃管理信息系统统计报表模块设计学士学位论文.doc
2021-09-15 18:42:53苗圃管理信息系统统计报表模块设计学士学位论文.doc -
【学位论文终稿】计算机科学与技术-企业人事管理系统的设计与实现
2019-01-06 13:08:16【第六章 系统测试重构,增加章节6.3部门管理模块、6.5用户管理模块、6.6待我审批模块】 7、设计思想,应该从模块设计上说,为何要部门管理,为何要岗位管理?他们之间怎么联系等等 【4.1整体模块设计思想章节,增加... -
C语言 车辆出租管理系统
2018-06-13 21:31:40该软件主要是使用C语言设计开发一个简单的车辆租赁管理系统,实现租赁信息的查询、修改、删除、添加以及订单的查询等功能。 -
学习中心——教务管理系统——学位管理.doc
2020-12-12 23:30:47学习中心教务管理系统学位管理 操作说明 学习中心在指定时间内进行进行申请 1学习中心通过条件筛选申请学位毕业生 2录入筛选数据学位英语通过时间在列表下方点添加进行数据提交 进行数据学位申请 此时能看到录入了... -
基于Javaweb的图书馆管理系统设计与实现(开题报告+论文).doc
2021-10-27 11:03:301.2目前图书管理系统存在的问题 1 1.3课题意义 1 1.4论文的工作和安排 2 2.图书借阅管理需求分析 3 2.1 可行性分析 3 2.1.1.技术可行性 3 2.1.2.经济可行性 3 2.2 图书借阅管理系统需求概述 3 2.2.1系统目标 3 2.2.2... -
学生信息管理系统
2013-07-15 21:47:44请开发一个学生信息管理系统,管理学校学生。要求编写一个程序模拟学校招生办工作人员、 主修系教务员、第二学位所在系教务员和学位办工作人员的操作,以实现下列要求: 1) 首先由招生办人员录入学生基本信息:从... -
Vireo ETD Management System:Vireo:交钥匙的电子论文和学位论文管理系统-开源
2021-05-13 03:59:07-------------------------------------------------- -------- Vireo是由德克萨斯州数字图书馆开发的交钥匙电子论文和学位论文(ETD)管理系统,处理了从提交到出版再到保存的ETD流程的所有步骤。 Vireo使学生能够... -
移动信息时代背景下地质工程专业学位研究生培养及管理模式探索.pdf
2021-10-10 20:32:03移动信息时代背景下地质工程专业学位研究生培养及管理模式探索.pdf -
烟草信息管理系统的设计与实现
2015-12-03 17:16:57西安电子科技大学2012年硕士学位论文,本文首先介绍系统的开发背景,针对客户需求对信息系统进行需求分析,从而明确系统定位——按市场需求组织货源。然后对系统的设计目标和原则进行阐述;基于此,分别从技术架构、... -
人事管理信息系统需求分析.doc
2020-09-07 08:36:51系统介绍 主要介绍项目的背景系统建设的主要内容 背景 人事档案管理是现代企业人事资源管理中的重要内容也是人力资源开发利用的基础性工作人事档案管理在信息化之前在人员进出离退休升迁岗位变动职称变动学位变动... -
数据库信息管理系统-JAVA实现教学总结.docx
2020-09-25 07:24:05以论文或大作业为考核方式的课程必须填此表综合考试可不填 简要评语栏 缺填无效 任课教师填写后与试卷一起送院系研究生秘书处 学位课总评成绩以百分制计分 图书管理信息数据库系统-JAVA实现 目录 TOC \o -
基于web的绿源药房信息管理及销售管理系统毕业设计(论文).pdf
2021-08-11 09:34:12基于web的绿源药房信息管理及销售管理系统毕业设计(论文).pdf -
论文研究-研究生学位授予信息在线采集系统的分析与研究 .pdf
2019-08-27 14:48:29研究生学位授予信息在线采集系统的分析与研究,黄英来,高萌,以解决各高校管理员人工填写 -
基于phpcms开发的人事管理系统
2021-04-23 15:39:34培训信息管理 培训信息 添加培训信息 导入培训信息 表格导出 导出表格 基本设置 部门管理 学历管理 职级管理 行政级别管理 员工状态管理 部门类别 职称等级管理 岗位管理 岗位类别管理 学位管理