第十二周总结

第十二周总结

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.监听适配器

监听接口中有很多抽象方法,在实现接口的时候,需要重写所有的方法,但经常只会用到其中的一个或两个,这无疑是一种多余。于是出于简化的目的,每个还有多个方法的的监听器接口都配有一个适配器类,这个类实现了接口中的所有方法,但是每个方法没有做任何事情。通过继承适配器类,重写其中的需要使用的方法,不必重写全部的方法,简单方便。

个人学习总结

这周更深入学习了图形界面的开发,感觉还搞得懂,但是涉及的类、接口太多,有的长的还差不多,有时容易会搞混,不过理清思路,按照按钮、标签、文字的顺序一个一个写,还是不会出错的,期待下周要学习的数据库,那是就能完整的设计一个登录程序了。

原文地址:https://www.cnblogs.com/198266qq/p/11867336.html