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

  • 相关阅读:
    禅道项目管理系统自定义菜单相关
    2015年技术方向转变计划
    LinuxMint 17.1 Cinnamon桌面窗口焦点bug
    通过指定函数/方法形参类型提高PHP代码可靠性
    Apache+Mod_Python配置
    JPHP最新进展 v0.6
    “领域驱动开发”实例之旅(1)--不一样的开发模式
    Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作
    哈希值 是什么?哈希值是什么东西啊?具体怎么识别?怎么用?
    TortoiseGit 使用教程
  • 原文地址:https://www.cnblogs.com/tzmad/p/11861892.html
Copyright © 2011-2022 走看看