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