视图层:com.java.view;
1.MainFrm类:
首先在视图层里新建一个MainFrm类:
在view里面新建一个MainFrm类:右键点击view包->new->Other->WindowBuilder->Swing Designer->JFrame类;
建好以后在Designer上面添加一些功能控件:
这里都是一些基本的控件和按钮,图标可以用我们之前的pictures包里面导入的图标;
其中:图书类别管理、图书管理...这一 行开始加一个JMenuBar,然后加很多JMenu或者JMenuItem;
JMenu(类似于数据结构中的非根节点)下面还可以加很多JMenu或者JMenuItem;
而JMenuItem(类似于叶子节点)下面什么都不能加;
(1) 可以在Source代码里面添加使MainFrm窗体最大化的代码;
当我们登录进去的时候,不用点击窗口最大化就自动最大化了!
(2) 根据登录界面LogOnFrm的逻辑,当用户登录成功后,应该销毁弹出来的"登录成功!"的窗体,
直接进入系统主界面MainFrm的界面;
打开LogOnFrm的源码,进行修改:
(3) 我们将两个窗体都设置为居中显示;
LogOnFrm类:
MainFrm类:
这样就OK了!!!我们登录验证一下,
这样就登陆成功了!
2.about(关于我们)窗体:
因为会有许多比如图书管理窗体,图书类别管理窗体等等,这些窗体都是MainFrm的内部窗体!
因此要在主窗体上面加一个JDesktopPane控件,相当于在MainFrm上面放一个桌子,
然后桌子上面可以放其他东西比如(图书管理窗体、图书类别管理窗体);
我们在view里面新建一个About_us_InterFrm类:
右键点击view包->new->Other->WindowBuilder->Swing Designer->JInternalFrame类;
建好之后在Designer上添加一些控件:
然后我们可以放一张背景图,在绿色区域添加一个JLabel->然后把text里的内容去掉->添加上喜欢的背景图片->亦或可以添加自己喜欢的文字(jTextField是单行的。用JTextArea可以自动换行JTextArea有个方法为setLineWrap(boolean wrap) ,将参数设为True,就可以自动换行)
这样就可以啦,设计成自己喜欢的样式!!!
(1)将desktopPane重命名为table;
(2)给MainFrm窗体中的"关于我们"控件添加事件处理;
右键"关于我们"->Add event handler->action->actionPerformed;
系统会自动在Source里面生成对应的方法:
然后我们在方法里写如上代码 ;
注意:这里我们首先将MainFrm窗体中的desktopPane重命名为table后,
系统自动实例化的代码会出现在"关于我们"这个方法的后面,因此在调用table.add方法时会出现错误,因此我们要将table实例化的代码写在"关于我们"这个方法之前!
然后--->
(3)进行测试;
打开MainFrm中的"关于我们"后,会出现About_us_InterFrm这个窗体!
3.安全退出窗体:
我们在MainFrm窗体中的"安全退出"控件添加事件处理:
右键"安全退出"->Add event handler->action->actionPerformed;
系统会自动在Source里面生成对应的方法:
在方法里,当我们点击"安全退出"时,系统会弹回一个"是否退出系统"的提示框:
这个提示框是调用 JOptionPane.showConfirmDialog(null, "是否退出系统?") 这个对话框;
其中返回的是Int类型的三个值(0,1,2),0表示"是",1表示"否",2表示"取消";
写一个判断语句,如果返回的是0,则调用dispose()方法销毁当前窗口!
我们测试一下,可以发现当点击“是”的时候,则会退出当前窗口!!!