用java开发学生信息管理系统(SIMS,二)


下面来做登陆这一块功能。新建SIMS项目,并把数据库驱动添加进项目里,然后新建all包、mainPro包、user包和View包,新建的包及类如下图:
   图片

       一、 all包,暂时有三个类。
        connection类的来由,连接数据库很多地方都要用到,每一次连接数据库就要写上加载驱动和连接数据库的代码,这样代码就大量重复,另外如果数据库的密码临时改了,又要在SIMS项目里到处去修改连接数据库所用的密码!有了connection类,在连接数据库时直接实例化connection类,再用实例化的connection对象调用connection类里的getCon()方法获取数据库连接对象,然后就可以对数据库进行操作了(创建connection类的过程就是封装的过程),数据库的密码改了也不怕,到connection类里改一下数据库连接密码(dbPassword)就行了,connection类的代码如下图

图片

  help类的来由,登陆界面和进入系统后的界面要有菜单栏,菜单栏有“帮助”这一菜单,单击后就进入了帮助界面,不管登陆与否,帮助界面都是一样的,显示同样的内容,所以把帮助界面放到all包里面作为公共类,help类的主要代码如下图(事件监听后面再解释)
图片

msPro类的来由,msPro类封装了一些与程序相关的信息,例如程序名称、开发人员信息。当其他类需要使用这些信息时,可以直接通过类名(msPro)进行调用(与调用某些系统方法类似,如“Math.random()”),主要代码如下图

图片

  二、mainPro包暂时有两个类,除了部分界面类以外(如帮助界面),大部分界面类都放在此包下。
        welcome类是登陆界面,它的界面运行效果及代码如下图

图片

图片
        注:welcome类里并没有生成菜单的代码,我刚刚把菜单封装到all包下的menuBar类里面了,那么怎么使用这个菜单呢,用法如上图第146行代码所示,menuBar类主要代码如下
图片

  main类是登陆成功后的界面,它的运行效果及代码如下图
图片

图片

        三、View包是放“界面操纵”类的,它暂时只有一个showView类。
        你也许会感到奇怪,怎么一直没看到setVisible?java和网页不一样,没有超链接来实现界面的跳转。关于界面切换可以使用setVisible属性来实现,即设置是否可见。setVisible就集中在showView类里面,界面之间的切换主要由showView类来掌控,showView类的主要代码如下图
图片
        四、user包,主要放一些与用户相关的类,如验证用户登陆信息的类(yanzheng.java)、管理用户权限的类(暂未实现)。
        当用户点击按钮登陆时,在监听事件里实例化一个yanzheng对象出来(把用户输入的用户名和密码作为yanzheng类构造方法的参数),然后通过yanzheng对象调用yanzheng类里的yz()方法,方法的返回值为boolean类型,返回true表示验证通过。主要代码如下图(javaTest数据库新建一个user表,有username、password、quanxian三个字段,username为varchar类型,其他两个为int类型)
图片

        程序执行的过程:showView类里的main方法是整个程序的入口,所以程序开始运行时首先把登陆面板(welcome.java)显示出来,如下图
图片
        当用户点击帮助时,触发 menuBar类里 文本 为“帮助” 的JMenu对象 的MenuListener事件,并执行下图中的方法
图片 
        在menuSelected方法里把helpFlag的值设为true,然后调用showView类(showView,java)里的“绘制”帮助面板的drawHelp()方法,drawHelp()方法的代码如下图
图片
        因为helpFlag被设为true,所以boo接收helpFlag后,在if语句里执行上图红色箭头所示的三条代码,出现下图界面(help.java)
图片
        对于上图返回按钮,得考虑一个问题:用户是登陆前点击“帮助”还是登陆成功后点击“帮助”,如果是前者,那么当点击上图返回按钮时应前往登陆界面。这时,welcome类里的status(登陆状态,值为0表示未登录,非0表示已登陆,初始值为0)就派上了用场。若用户在未登录的状态下(status值为0)查看帮助界面,当点击上图返回按钮时,触发按钮的ActionListener事件,并执行下图所示方法
图片
        因为helpFlag被设为false且status值为0,所以boo接收helpFlag后,在if语句里执行了下图红框里的代码(返回登陆界面)
图片
注:登陆成功后的界面很简洁,连菜单都没有,菜单的使用前面讲过,这里就不赘述了。另外,当用户登陆成功后,status的值会被赋值为1。



当然了,还有很多地方不完善,登陆功能基本上已经做完了。




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、把6个java文件保存到同一文件夹,例如C:\Student.然后将6个java文件分别编译生成相应的字节码(.class)文件,然后,用java 解释器运行主类:C:\Student\java StudentManager 2、使用jar.exe把一些文件压缩成JAR文件,来发布我们的应用程序。我们可以把本java应用程序中涉及到的类文件(*.class)压缩成一个JAR文件,例如StudentManager.jar。 首先,用记事本编写一个清单文件(Manifestfiles): Manifest-Version: 1.0 Main-class: StudentManager Created-By: 1.2.2(Sun Microsystems Inc.) 例如,清单文件命名为moon.mf,保存到C:\Student。 注意:在编写清单文件时,在“Manifest-Version:”和“1.0”之间,“Main-class:”和“StudentManager”之间,以及在“Created-By:”和“1.2.2(Sun Microsystems Inc.)”之间必须有且只有一个空格。 然后,如下生成JAR文件: C:\Student\jar cvfm StudentManager.jar moon.mf *.class 其中,参数C表示要生成一个新的JAR文件;f表示要生成的JAR文件的名字,m表示文件清单文件的名字,v表示生成详细输出到标准输出上。具体运行jar命令请查看 现在就可以将StudentManager.jar拷贝到任何一个安装了java运行环境(jdk版本号须高于1.2.2)的计算机上,只要鼠标双击StudentManager.jar文件就可以运行该java应用程序了。 注意在装了WinRAR解压缩软件的机子上可能不能运行,因此,在发布本系统时,还应该建立一个有如下内容的.bat文件(StudentManager.bat),用记事本编写: javaw -jar StudentManager.jar 保存即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值