1、运用事件处理相关知识,完成两个窗口之间的切换,例如:登陆窗口------》注册窗口
2、对本次作业进行总结,在编程过程中遇到哪些问题,如何解决,有哪些收获?
代码:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class ckzh implements ActionListener{
JFrame a;
JPanel b;
JTextField c1;
JButton c2;
JTextField c3;
JButton c4;
JLabel c5;
JLabel c6;
public ckzh() {
a=new JFrame("登录窗口");
b=new JPanel();
b.setLayout(null);
b.setBounds(500, 500, 500, 500);
c1=new JTextField();
c2=new JButton("登录");
c3=new JTextField();
c4=new JButton("注册");
c4.addActionListener(this);
c5=new JLabel("账号");
c6=new JLabel("密码");
c1.setBounds(120, 50, 300, 30);
c2.setBounds(150, 150, 80, 50);
c3.setBounds(120, 100, 300, 30);
c4.setBounds(270, 150, 80, 50);
c5.setBounds(80, 50, 40, 30);
c6.setBounds(80, 100, 40, 30);
a.add(b);
b.add(c1);
b.add(c3);
b.add(c2);
b.add(c4);
b.add(c5);
b.add(c6);
a.setVisible(true);
a.setSize(500, 300);
}
public static void main(String[] args) {
new ckzh();
}
class zhuce{
JFrame a;
JPanel b;
JLabel c;
zhuce(){
a=new JFrame("注册窗口");
b=new JPanel();
b.setLayout(null);
b.setBounds(500, 500, 500, 500);
c=new JLabel("这是注册界面");
c.setBounds(200, 50, 80, 50);
a.add(b);
b.add(c);
a.setVisible(true);
a.setSize(500, 300);
}
}
public void actionPerformed(ActionEvent e) {
a.setBounds(700,0,500,300);
new zhuce();
}
}
运行结果:
感想:感觉是在学了怎么构造一个窗口后,Java才变得有趣了一些。本次作业中,大部分内容老师都讲过,所以不难。在写程序的时候,基于题目要求,要我们自己再构造另一个窗口,一开始我以为只需要写一个和构造方法一样的方法,然后new ta 就好,结果运行不了,后面通过自己尝试写了另外一个较为麻烦的方法,另外写一个类,最后算是成功的完成了本次作业。