第十二周

一:实验代码

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Adapt extends JFrame {
	public Adapt() {
	    Container a = getContentPane();      //定义一个容器
		JLabel name = new JLabel("用户名:");	
		JLabel mima = new JLabel("密码:");
		JButton in = new JButton("登录");
		JButton out = new JButton("重置");
		JPasswordField jpf1 = new JPasswordField();
		JTextField jtf1= new JTextField();
		in.addActionListener(new ActionListener() {         //登录采用匿名内部类
			public void actionPerformed(ActionEvent argo) {
				if (jtf1.getText().equals("小明") &&new String(jpf1.getPassword()).equals("123456")){
					JOptionPane.showMessageDialog(null, "登陆成功!");//弹出框判断是否成功
				} else if (jtf1.getText().length() == 0 || new String (jpf1.getPassword()).length() == 0){
					JOptionPane.showMessageDialog(null, "不能为空!");
				} else {
					JOptionPane.showMessageDialog(null, "登录失败");			
				}
			}
		});		
		out.addActionListener(new ActionListener() {//重置
			public void actionPerformed(ActionEvent arg0) {
				jtf1.setText("");//清零
				jpf1.setText("");
			}
		});	
		a.setLayout(null);//使用绝对定位
		jtf1.setBounds(60, 20, 210, 30);
		name.setBounds(10, 20, 90, 30);
		mima.setBounds(25, 60, 90, 30);
		jpf1.setBounds(60, 60, 210, 30);
		in.setBounds(60, 100, 70, 50);
		out.setBounds(200, 100, 70, 50);
		a.add(name);
		a.add(jtf1);
		a.add(mima);
		a.add(jpf1);
		a.add(in);
		a.add(out);	
		setSize(500, 320);
		setVisible(true);
	}
	public static void main(String[] args) {
		new Adapt();
	}
}

二:实验截图


总结:
这周主要学习了事件处理,以及监听器的使用方法,这道题我主要用了匿名内部类,WindowListener是专门处理窗体事件的监听接口,一个窗体的所有变化,都可以使用这个接口进行监听。
消息对话框(JOptionPane):这是一种临时对话窗体,一般用于 消息的动态显示与流程控制。
单行文本输入框:JTextField
密码文本输入框:JPasswordField
布局管理器:
1、FlowLayout 流式布局
顾名思义,组件像水流一样,从第一行开始,从左向右依次排列,碰到边界时转到下一行继续。
2、BorderLayout 边界布局
将容器划分为EAST、WEST、SOUTH、NORTH、CENTER五个部分,每个部分可放置一个组件。
3、GridLayout 网格布局
将容器划分为指定行数、列数的网格,每个格子的尺寸都相同,一个格子中放置一个组件,适合组件大小差不多的,比如放置计算器的按钮。
从左往右、从上往下依次放置。
4、GridBagLayout 网格包布局
在GridLayout基础上发展而来,比GridLayout更加灵活。功能最强大,但也是最复杂的.
5、CardLayout 卡片布局
将容器中的所有组件(通常是容器)当做一叠卡片,只显示一张卡片(一个组件

原文地址:https://www.cnblogs.com/tzmad/p/11861892.html