监听器与值传递

[b][size=medium][align=center]监听器的使用和值传递[/align][/size][/b]

1.监听器的使用方法
(1)在主运行程序中创建监听器对象
(2)将监听器加入到要监听的对象中,即监听对象.add监听器类,
例:在窗体frame中添加监听器
frame.addMouseListener(java.awt.event.MouseListener 1)
(3)在创建监听器类时,一定要实现和所需用到的监听器进行对接,
即:public class LoginListener implements java.awt.event.ActionListener
(4)在实现接口中的方法中,监听器的方法是通过事件触发自动调用的

2.监听器的作用
监视各种动作,方法是否发生

3.不同类之间的值传递的定义
指的是某一个对象不在同一个类中时,为了在另一个类中使用该对象,则要实现值传递

4.值传递的方法
/ * 登录窗体
*
* @author Administrator
*
*/
public class LoginUI extends javax.swing.JFrame {
public static void main(String args[]) {
// 创建窗体对象
LoginUI lu = new LoginUI();
lu.initUI();
}
/**
* 显示窗体的方法
*/
public void initUI() {
// this:指调用 initUI() 的一个对象
this.setTitle("用户登录");
this.setSize(300, 200);
// 设置点击关闭按钮的时候退出程序
this.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
// 设置布局
java.awt.FlowLayout layout = new java.awt.FlowLayout();
this.setLayout(layout);
// 加组件
javax.swing.JLabel nameLabel = new javax.swing.JLabel("帐号:");
javax.swing.JTextField nameField = new javax.swing.JTextField(20);
javax.swing.JButton loginBut = new javax.swing.JButton("登录");
this.add(nameLabel);
this.add(nameField);
this.add(loginBut);
//显式窗体可见
this.setVisible(true);

// 创建监听器对象
LoginListener lis = new LoginListener([color=red]nameField[/color]);
// 给按钮加动作监听器
loginBut.addActionListener(lis);
}
}

/**
* 登录按钮的监听器,实现动作监听器接口
*
* @author Administrator
*
*/
public class LoginListener implements java.awt.event.ActionListener {
//定义jt的属性
private javax.swing.JTextField nameField;

/**
* 重载构造器
* @param jt
*/
public LoginListener(javax.swing.JTextField nameField) {
this.nameField = nameField;
}
}

举例说明:实现要在LoginListener.java(登陆监听器)中使用LoginUI.java 中的nameField对象
在主运行程序中,调用了LoginListener类,创建了LoginListener对象,要实现值传递,
(1)给LoginListener类添加一属性,属性的类型为要使用对象的类型,即:
private javax.swing.JTextField jt

(2)只需在LoginListener类中重载LoginListener的构造器:
public LoginListener() {}

(3)给重载的构造方法LoginListener加入形参
(javax.swing.JTextField jt),即要使用跨类使用的对象的类型

(4) 再用关键字this实现形参和属性的赋值

(5)在创建对象时,给对象赋值,对象为所要使用的对象,即
LoginListener lis = new LoginListener(nameField);

5.this的调用原理
this调用哪个类的方法,this就指哪个类的对象

6.创建窗体时的必不可少的方法

 this.setTitle("用户登录");
this.setSize(300, 200);
// 设置点击关闭按钮的时候退出程序,()内的只可以为0,1,2,3
this.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);

// 设置布局
java.awt.FlowLayout layout = new java.awt.FlowLayout();
this.setLayout(layout);
this.setVisible(true);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值