第十二周总结
1.实验源码:
package main1; import javax.swing.*; class loginwindow{ private JFrame frame = new JFrame("登陆窗口"); //声明一个窗体对象 private JButton submit = new JButton("登陆"); //声明一个按钮 private JButton reset = new JButton("重置"); //声明一个按钮 private JLabel namelab = new JLabel("用户名:"); //声明一个标签 private JLabel passlab = new JLabel("密 码:"); //声明一个标签 private JLabel infolab = new JLabel("用户登录系统");//声明一个标签 private JTextField nametest = new JTextField(); //定义一个文本域 private JTextField passtest = new JPasswordField(); //定义一个文本域 public loginwindow() { frame.setLayout(null); //使用绝对定位 submit.setBounds(15,75,60,20); //设置按钮的位置及大小 reset.setBounds(105,75,60,20); //设置按钮的位置及大小 namelab.setBounds(5,5,60,20); //设置标签的位置及大小 passlab.setBounds(5,30,60,20); //设置标签的位置及大小 infolab.setBounds(5,100,100,60); //设置标签的位置及大小 nametest.setBounds(60,5,100,20); //设置文本域的位置及大小 passtest.setBounds(60,30,100,20); //设置文本域的位置及大小 frame.add(submit); //向窗体加入按钮 frame.add(reset); //向窗体加入按钮 frame.add(namelab); //向窗体加入标签 frame.add(passlab); //向窗体加入标签 frame.add(infolab); //向窗体加入标签 frame.add(nametest); //向窗体加入文本框 frame.add(passtest); //向窗体加入密码框 frame.setSize(300,250); //设置窗体大小 frame.setLocation(500, 500); //设置窗体的位置 frame.setVisible(true); //显示窗体 } } public class Test { public static void main(String[] args) { new loginwindow(); } }
2.实验结果截图:
3.实验的过程和问题
老师在课堂上讲解并写好了代码,所以对照老师和书上的代码进行一些改进就能写好代码,关键是明白按钮、标签、文字域的作用并把它们放到合适的位置。但是老师在课堂上还设置了用户和密码,并进行了验证,但我觉得用密码登录要在使用数据库的情况下才更具有实用性,所以没有设置用户和密码。
课程学习总结:
本周主要学习了其他容器和事件处理
1.JPanel
可以将多个组件加入到JPanel中以实现复杂的排列,一个界面只可以有一个JFrame窗体组件,但是可以有多个JPanel面板组件,而JPanel上也可以使用FlowLayout,BorderLayout,GridLayout等各种布局管理器,这样可以组合使用,达到较为复杂的布局效果。
2.JSplitPane
JSplitPane用来将窗口分割成两个部分。JSplitPane提供两个常数让你设置到底是要垂直分割还是水平分割。这两个常数分别是:HORIZONTAL_SPIT,VERTICAL_SPLIT
3.JTabbedPane
JTabbedPane创建的选项卡可以通过单击标题或者图标在选项卡之间进行切换。
4.JScrollPane
主要功能是为显示的内容加入水平滚动条。
二.文本组件
单行文本输入框:JTextField
密码文本输入框:JPasswordField
多文本输入组件:JTextArea
三.事件处理
1.窗体事件
WindowLister是专门处理窗体事件的监听接口,一个的窗口的所有变化都可以用这个接口进行监听。
2.监听适配器
监听接口中有很多抽象方法,在实现接口的时候,需要重写所有的方法,但经常只会用到其中的一个或两个,这无疑是一种多余。于是出于简化的目的,每个还有多个方法的的监听器接口都配有一个适配器类,这个类实现了接口中的所有方法,但是每个方法没有做任何事情。通过继承适配器类,重写其中的需要使用的方法,不必重写全部的方法,简单方便。
个人学习总结
这周更深入学习了图形界面的开发,感觉还搞得懂,但是涉及的类、接口太多,有的长的还差不多,有时容易会搞混,不过理清思路,按照按钮、标签、文字的顺序一个一个写,还是不会出错的,期待下周要学习的数据库,那是就能完整的设计一个登录程序了。