• 课后练习----实现窗口的切换


    运用事件处理相关知识,完成两个窗口之间的切换,例如:登陆窗口------》注册窗口

    import javax.swing.*;
    public class swing1 {
        JFrame jf;
        JPanel jp;
        JLabel jl,jl1,jl2,jl3,jl4,jl5,jl6,jl7,jl8;
        JTextField jt,jt1,jt2,jt3,jt4,jt5,jt6;
        JButton jb,jb1;
        public swing1(){
            jf =new JFrame();
            jp =new JPanel(new FlowLayout(1,10,30));
            jl =new JLabel("闹钟设置");
            jl1 =new JLabel("当前时间:");
            jl2 =new JLabel("闹钟时间:");
            jl3 =new JLabel("时");
            jl4 =new JLabel("分");
            jl5 =new JLabel("秒");
            jl6 =new JLabel("时");
            jl7 =new JLabel("分");
            jl8 =new JLabel("秒");
            jt =new JTextField(5);
            jt1 =new JTextField(5);
            jt2 =new JTextField(5);
            jt3 =new JTextField(5);
            jt4 =new JTextField(5);
            jt5 =new JTextField(5);
            jb =new JButton("开");
            jb1 =new JButton("关");
            jp.add(jl1);
            jp.add(jt2);
            jp.add(jl3);
            jp.add(jt1);
            jp.add(jl4);
            jp.add(jt);
            jp.add(jl5);
            jp.add(jl2);
            jp.add(jt4);
            jp.add(jl6);
            jp.add(jt5);
            jp.add(jl7);
            jp.add(jt3);
            jp.add(jl8);
            jp.add(jl);
            jp.add(jb);
            jp.add(jb1);
            jf.add(jp);
            jf.setSize(400,300);
            jf.setVisible(true);
            
            
        }
        public static void main(String[] args){
            new swing1();
            
        }
          
    }

    package day38;
    import java.awt.*;
    import javax.swing.*;
    public class swing2 {
        JPanel jp;
        JLabel jl,jl2;
        JFrame jf;
        JButton jb,jb1;
        JTextField jt,jt1;
        public swing2(){
            jf =new JFrame();
            jp =new JPanel(new GridLayout(5,5,5,5) );
            jl =new JLabel("用户名:");
            jl2 =new JLabel("口令:");
            jt =new JTextField(5);
            jt1 =new JTextField(5);
            jb =new JButton("确认");
            jb1=new JButton("取消");
            jp.add(jl);
            jp.add(jt);
            jp.add(jl2);
            jp.add(jt1);
            jp.add(jb);
            jp.add(jb1);
            jf.add(jp);
            jf.setSize(400,300);
            jf.setVisible(true);
            
        }
        public static void main(String[] args){
            new swing2();
        }
    
    }

    对本次作业进行总结,在编程过程中遇到哪些问题,如何解决,有哪些收获?

    在本次上机实践中,遇到了很多问题。在第一个程序中 ——1:如果只定义一个标签或一个文本框想达到重复使用的目的,但是重复使用一个时,会导致只有最后一次标签或文本框才会显示。解决办法:需要定义多个文本框或标签,要用几个就需要定义几个。2:初次运行时,标签,文本框,按钮的顺序与预期不符。解决办法:标签,文本框,按钮的顺序要按照程序显示的位置按照顺序排列,不可以打乱顺序。3:初次运行时,没有出现任何组件。解决办法:可能是没有把面板添加到窗口上,也有可能是没有调好FlowYayout();流布局中的参数,第一个参数为左对齐或右对齐;第二个参数为行间距;第三个为列间距,并且以像素为单位。需要根据窗口的大小来确定。在第二个程序中——1:初次运行也没有任何组件。解决办法:跟第一个程序差不多,要注意的是GridYayout();中的第一个参数为行数,第二个参数为列数,第三个参数为行间距,第四个参数为列间距。2:因为在eclipse中布局形式默认的为流布局,所以在使用Grid布局时,要new一个GridYayout对象。                收获:通过本次学习和上机实践,对窗口以及有关组件的使用更加熟悉,对布局中参数的数量以及意义有了一定的了解,会正确使用FiowYayout、GirdYayout两种布局形式。对窗口的编辑有了一定的经验,为以后复杂窗口的创建奠定了基础。

  • 相关阅读:
    一个“会”用代码调色的Web前端开发,绝对是一个吃香的设计师
    如何区分html和html5,这可能是IE被黑最惨的一次,哈哈哈
    给程序员的 8 个提高开发效率的建议
    大厂面试经典问题:什么是继承 ?JavaScrpt中如何通过原型链实现继承 ?
    AD 差分线规则设置
    状态机阶段1 练习4
    状态机练习基于DAC8168C DAC电压输出
    Javascript ES6 / ES5在数组中查找并更改
    java: 程序包com.baomidou.mybatisplus.core.mapper不存在
    jar包上传maven私服
  • 原文地址:https://www.cnblogs.com/Lwl2019/p/10877881.html
Copyright © 2020-2023  润新知