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

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

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

package bbb;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class myframe implements ActionListener {
   JFrame f1,f2;
   JPanel p1,p2;
   JButton b1,b2;
   JLabel l1,l2,l3;
   JTextField t1,t2;//文本框
   public myframe() {
       f1=new JFrame("LYX");
       f2=new JFrame("LYX");
       p1=new JPanel();
       p2=new JPanel();
       p1.setLayout(null);//绝对布局
       p2.setLayout(null);
       b1=new JButton("注册");
       b2=new JButton("登录");
       l1=new JLabel("账户"); 
       l1.setFont(new Font("楷体",Font.BOLD,18));//自定义标签字体
       l2=new JLabel("密码");
       l2.setFont(new Font("楷体",Font.BOLD,18));
       l3=new JLabel("登录成功!");
       l3.setForeground(Color.red);
       t1=new JTextField();
       t2=new JTextField();
       b1.addActionListener(this);
       b2.addActionListener(this);
       f1.add(p1);
       p1.add(b1);
       p1.add(b2);
       p1.add(l1);
       p1.add(l2);
       p1.add(t1);
       p1.add(t2);
       b1.setBounds(150,150,60,40);
       b2.setBounds(270,150,60,40);
       l1.setBounds(80,50,40,30);
       l2.setBounds(80,100,40,30);
       t1.setBounds(120,50,300,30);
       t2.setBounds(120,100,300,30);
       f1.setVisible(true);
       f1.setSize(500,300);
   }
    public static void main(String[] args) {
         new myframe();
}
    public void actionPerformed(ActionEvent e) {
        f1.setVisible(false);
        p2.setBackground(new Color(211,252,4));//自定义面板颜色
        f2.setVisible(true); 
        f2.add(p2);
        p2.add(l3);
        l3.setBounds(225,75,150,60);
        f2.setLocation(600,0);
        f2.setSize(500,300);
    }
}

运行结果:
1632439-20190513214000968-1636277487.png
1632439-20190513214048509-359351862.png

心得体会:
窗口的学习是循序渐进的,每次都觉得特别新颖、好玩、有成就感,这次编程中为了美观,设计组件、窗口具体的位置是个麻烦的地方,还有程序的部分地方都是相似的,所以我选择了复制粘贴,但忘记改组件名称了,花了很长时间才发现问题。编程过程中也总会遗留一些细节,希望今后真正地学懂每个知识点,而不是死记硬背@-@

转载于:https://www.cnblogs.com/leiyaxi/p/10859277.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值