zoukankan      html  css  js  c++  java
  • 第十二周

    一:实验代码

    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 卡片布局
    将容器中的所有组件(通常是容器)当做一叠卡片,只显示一张卡片(一个组件

  • 相关阅读:
    关于返回上一页功能
    Mybatis Update statement Date null
    SQLite reset password
    Bootstrap Validator使用特性,动态(Dynamic)添加的input的验证问题
    Eclipse使用Maven2的一次环境清理记录
    Server Tomcat v7.0 Server at localhost failed to start
    PowerShell一例
    Server Tomcat v7.0 Server at libra failed to start
    商标注册英语
    A glance for agile method
  • 原文地址:https://www.cnblogs.com/tzmad/p/11861892.html
Copyright © 2011-2022 走看看