zoukankan      html  css  js  c++  java
  • 第十二周总结

    第十二周总结

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

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

    个人学习总结

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

  • 相关阅读:
    LOJ10092半连通子图
    LOJ104 普通平衡树
    LOJ10145郁闷的出纳员
    LOJ10144宠物收养所
    LOJ10043
    洛谷P3850 书架
    codevs 1814 最长链
    洛谷 P2022 有趣的数
    codevs 1312 连续自然数和
    noip 2010 引水入城
  • 原文地址:https://www.cnblogs.com/198266qq/p/11867336.html
Copyright © 2011-2022 走看看