运用事件处理相关知识,完成两个窗口之间的切换,例如:登陆窗口------》注册窗口
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两种布局形式。对窗口的编辑有了一定的经验,为以后复杂窗口的创建奠定了基础。
来源:https://www.cnblogs.com/Lwl2019/p/10877881.html