`
xiaozhouzhou
  • 浏览: 13382 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

监听器与变量的作用域

 
阅读更多
监听器是用来实现一些可控操作的工具,如你在打开一个QQ界面的时候,点击登入按钮,这时就有一个监听器在执行登入这一方法。添加监听器的一般格式为:
需要加监听器的对象.add执行命令名Listeneer(实现接口的类);
代码如:Jframe.addMouseListener(DrawListener);
若你想在某一登入界面上加上一个按钮的监听器,其代码则为:
package Loginfrme;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionListener;
public class JavaTest {
public static void main(String[] args){
	//创建窗体对象
			JFrame jf = new JFrame();
			//设置标题
			jf.setTitle("QQ2012");
			//设置窗体大小
			jf.setSize(180,150);
			//设置窗体大小不可变
			jf.setResizable(false);
			//设置窗体默认关闭方式
			jf.setDefaultCloseOperation(3);
			//创建窗体布局方式
			FlowLayout fl=new  FlowLayout();
			//运用这个布局方式
			jf.setLayout(fl);
			//创建标签对象
			JLabel jl=new JLabel("账号:");
			//把标签添加到窗体上
			jf.add(jl);
			//创建注册账号输入框对象
			JTextField jtf =new JTextField(10);
			//运用账号输入框
			jf.add(jtf);
			//创建密码标签对象
			JLabel jl_pwd =new JLabel("密码:");
			//把密码添加到窗体
			jf.add(jl_pwd);
			//创建密码输入框
			JPasswordField jtf_pwd=new JPasswordField(10);
			//在窗体中运用密码输入框
			jf.add(jtf_pwd);
			//创建登入按钮对象
			JButton jb =new JButton("登入");
			jb.setActionCommand("login");
			jf.add(jb);
			//创建注册按钮对象
			JButton jb_c =new JButton("注册");
			jb_c.setActionCommand("regist");
			jf.add(jb_c);
			ImageIcon icon = new ImageIcon("image/aa.png");
			JLabel label = new JLabel(icon);
			jf.add(label);
			//建立窗体可视设置
			jf.setVisible(true);
			//创建登入按钮监听器
			LoginListen lis=new LoginListen(jtf,jtf_pwd);
			lis.jf1=jf;
			//建立到按钮上
			jb.addActionListener(lis);
			//创建注册按钮监听器
			LoginListen log=new LoginListen(jtf,jtf_pwd);
			log.jf1=jf;
			//建立到按钮上
			jb_c.addActionListener(log);
			java.util.Random ran=new java.util.Random();
					int i=ran.nextInt(300)+200;
			}
}
import java.awt.event.*;
import javax.swing.*;
public class LoginListen implements ActionListener{
	//定义属性
	JTextField jtf;
	JPasswordField jtf_pwd;
	JFrame jf1;
	public LoginListen(JTextField jt,JPasswordField jp){
		jtf=jt;
		jtf_pwd=jp;
	}
	public void actionPerformed(ActionEvent e){
		String command=e.getActionCommand();
		if("login".equals(command)){
		//得到用户名
		String user=jtf.getText();
		String pass=jtf_pwd.getText();
		if("123".equals(user)&&"asd".equals(pass)){
			System.out.println("登入账号是:"+user);
			System.out.println("登入密码是:"+pass);
			jf1.dispose();
			JFrame jf2=new JFrame();
			jf2.setSize(280,200);
			jf2.setVisible(true);
		}else{
			javax.swing.JOptionPane.showConfirmDialog(null, "登陆失败!");
	}
	}else if("regist".equals(command)){
			jf1.dispose();
			JFrame jf3=new JFrame();
			jf3.setSize(280,200);
			jf3.setVisible(true);
			System.out.println("注册");
		}

	}
}
变量的作用域分为全局变量和局部变量,全局变量作用于整个类中,局部变量则是作用于当前的某一方法中。如代码:
public class Num{
	public static void main(String[]args){
		int x=15;
		if(x==10){
	int y=20;
	System.out.println(“x,y的值为:”+x+””+y);
	x=y+x;
	}
	//y=10;(错误)
	System.out.println(“x的值为:”+x);
	
	}
}
执行后得到的结果分别为:15 20;35如上面注释掉的y=10在不注释的情况下就会报错,而x=x+y这行代码为什么不报错呢?这就是因为在前面定义的x 起的作用,它可以用于整个语句,定义的y只能作用于if语句内。
分享到:
评论

相关推荐

    jBPM4.3用户指南

    jBPM4.3用户指南 1. 导言 1.1. 许可证与最终用户许可协议 1.2. 下载 ...7.1. 变量作用域 7.2. 变量类型 7.3. 更新持久化流程变量 8. Scripting脚本 9. Configuration配置 9.1. 工作日历 9.2. Email

    JBPM4.4用户手册.doc

    JBPM4.4工作流用户手册...7.1. 变量作用域 7.2. 变量类型 7.3. 更新持久化流程变量 7.4. 声明变量 7.5. 变量历史 8. Scripting脚本 9. Configuration配置 9.1. 工作日历 9.2. Console控制台 9.3. Email A. 修改日志

    网页教程《跟姐姐学JSP》

    8. 配置listener监听器 8.1. 使用HttpSessionListener 8.2. 使用HttpSessionBindingListener 9. 封装taglib组件 9.1. 用taglib实现循环 9.2. 关于jstl 10. 综合电子留言板 10.1. 电子留言板用户指南 10.2. ...

    最新AngularJS开发宝典视频教程 后盾网AngularJS培训视频教程 后盾网.txt

    ├最新AngularJS开发宝典—第034讲 filter变量调节器分析与货币变量调节器处理.mp4 ├最新AngularJS开发宝典—第035讲 lowercase与uppercase过滤器使用.mp4 ├最新AngularJS开发宝典—第036讲 使用limitTo过滤器截取...

    vue语法.rar

    let声明的变量拥有块级作用域,块级作用域是一对大括号 块级作用域可以直接些一堆大括号,以后就不用写自执行函数了 2.var与for循环 3.let与for循环 十一、const的用法 const声明一个常量,一旦声明后就不...

    Node.js MongoDB AngularJSWeb开发中文版.part1

    2.6 理解变量作用域 22 2.7 使用JavaScript对象 22 2.7.1 使用对象语法 23 2.7.2 创建自定义对象 23 2.7.3 使用原型对象模式 24 2.8 处理字符串 25 2.8.1 合并字符串 26 2.8.2 在字符串中搜索子串 26 2.8.3 在一个...

    2019千峰Python超详细入门教程(百度云盘分享).docx

    作用域&修改变量作用域.mp4 │ ├─千锋Python教程:第07章 闭包&装饰器(5集) │ │ .DS_Store │ │ │ ├─code │ │ 10、多个装饰器.py │ │ 11、装饰器使用场景.py │ │ 12、计数函数执行次数.py │ │ ...

    Java2核心技术.part5

    8.1. 3将组件变成事件监听器 8.1.4实例:改变观感 8.1.5实例:捕获窗口事件 8.2 AWT事件继承层次 8.3 AWT的语义事件和低级事件 8.4低级事件类型 8.4.1键盘事件 8.4.2鼠标事件 8.4.3焦点事件 ...

    Java2核心技术.part3

    8.1. 3将组件变成事件监听器 8.1.4实例:改变观感 8.1.5实例:捕获窗口事件 8.2 AWT事件继承层次 8.3 AWT的语义事件和低级事件 8.4低级事件类型 8.4.1键盘事件 8.4.2鼠标事件 8.4.3焦点事件 ...

    Java2核心技术.part1

    8.1. 3将组件变成事件监听器 8.1.4实例:改变观感 8.1.5实例:捕获窗口事件 8.2 AWT事件继承层次 8.3 AWT的语义事件和低级事件 8.4低级事件类型 8.4.1键盘事件 8.4.2鼠标事件 8.4.3焦点事件 8.5动作 ...

    Java2核心技术.part6

    8.1. 3将组件变成事件监听器 8.1.4实例:改变观感 8.1.5实例:捕获窗口事件 8.2 AWT事件继承层次 8.3 AWT的语义事件和低级事件 8.4低级事件类型 8.4.1键盘事件 8.4.2鼠标事件 8.4.3焦点事件 ...

    Java2核心技术.part4

    8.1. 3将组件变成事件监听器 8.1.4实例:改变观感 8.1.5实例:捕获窗口事件 8.2 AWT事件继承层次 8.3 AWT的语义事件和低级事件 8.4低级事件类型 8.4.1键盘事件 8.4.2鼠标事件 8.4.3焦点事件 ...

    Java2核心技术.part2

    8.1. 3将组件变成事件监听器 8.1.4实例:改变观感 8.1.5实例:捕获窗口事件 8.2 AWT事件继承层次 8.3 AWT的语义事件和低级事件 8.4低级事件类型 8.4.1键盘事件 8.4.2鼠标事件 8.4.3焦点事件 ...

    javaSE代码实例

    6.7.1 局部变量的作用域 89 6.7.2 局部变量的初始化 90 6.8 this预定义对象引用 92 6.9 擅用系统已有的类 94 6.9.1 Java中的Date类 94 6.9.2 Java中的GregorianCalendar类 96 6.9.3 擅用系统已有类的...

    精通AngularJS part1

    运用name属性将表单附加到作用域上154 为用户信息表单增加动态行为154 显示验证错误155 让保存按钮无效156 使原生浏览器校验无效157 56在其他表单中嵌套表单157 将子表单作为可重用组件157 57重复子表单158 ...

    python入门到高级全栈工程师培训 第3期 附课件代码

    03 函数作用域补充 04 匿名函数 05 函数式编程介绍 06 函数式编程尾递归调用优化 07 map函数 08 map函数filter函数 09 reduce函数 10 map reduce filter总结 11 内置函数part1 第17章 01 课前吹牛 02 zip方法 03 ...

    JavaScript详解(第2版)

     3.2.4 变量作用域   3.2.5 变量的拼接   3.3 常量   3.4 要注意的bug   3.5 应知应会   练习   第4章 对话框   4.1 与用户交互   4.1.1 alert()方法   4.1.2 prompt()方法  ...

    JBPM4工作流应用开始指南.rar

    170 第7章 流程变量 171 7.1 变量作用域 173 7.2 变量类型 174 7.3 变量的自动更新和序列化 175 7.4 例程:用变量去控制一个流程的运行 177 7.5 小结 179 第8章 流程脚本 182 8.1 Java统一表达式语言 182 8.1.1 语法...

    Spring-Reference_zh_CN(Spring中文参考手册)

    作用域bean与依赖 3.4.4. 自定义作用域 3.5. 定制bean特性 3.5.1. Lifecycle接口 3.5.1.1. 初始化回调 3.5.1.2. 析构回调 3.5.2. 了解自己 3.5.2.1. BeanFactoryAware 3.5.2.2. BeanNameAware 3.6. bean定义的继承...

Global site tag (gtag.js) - Google Analytics