`

监听器与值传递

 
阅读更多
监听器的使用和值传递


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);
   
   
分享到:
评论

相关推荐

    过滤器和监听器的使用与区别

    例如,一个常见的应用场景是,使用监听器创建会话并在会话创建时设置一个默认值,然后使用过滤器检查该值是否满足条件,如果不符合则重定向到登录页面。这样可以确保只有经过验证的用户才能访问受保护的资源。 总之...

    如何配置Oracle监听器

    1. **监听器**:监听特定端口上的连接请求并将它们传递给数据库实例。 2. **listener.ora**:这是Oracle监听器使用的配置文件,其中包含了监听器的地址、端口以及与之关联的服务等信息。 3. **SID**:即Service ID,...

    Activity与AlertDialog值传递

    总结一下,Android中的`Activity`和`AlertDialog`值传递主要通过创建`AlertDialog`,设置自定义布局,获取`EditText`的值,并通过`OnClickListener`回调到`Activity`的方法来完成。这种方法使得我们可以灵活地在...

    UI界面之间的值传递

    在iOS开发中,UI界面之间的值传递是应用交互设计中的重要环节。这涉及到不同视图控制器之间数据的流通,确保用户操作的数据能够准确无误地更新到其他界面。本篇文章将详细探讨四种常见的UI界面间值传递方法:Key-...

    Cordova(PhoneGap)Android Native混合开发值传递

    Cordova提供了一个`DocumentEventListener`接口,使得JavaScript可以注册监听器,Java端触发事件时,JavaScript会接收到通知。 8. **生命周期管理**:在混合开发中,要注意处理Android应用的生命周期事件,如暂停、...

    控件的相互控制与消息传递

    在编程领域,特别是Java开发中,控件的相互控制与消息传递是构建用户界面(UI)时的关键概念。...在实际开发中,应根据具体需求选择合适的控件、事件监听器以及消息传递方式,以实现最佳的用户体验。

    详解js界面跳转与值传递

    总的来说,JS界面跳转与值传递主要依赖于React Native的`Navigator`组件,通过配置不同的场景效果、渲染不同视图、管理组件生命周期以及传递参数,实现了在多个页面之间跳转并共享数据的功能。在实际开发中,可以...

    Vue中父子组件的值传递与方法传递

    以下将详细讲解Vue中父子组件的值传递和方法传递。 一、Vue中父组件向子组件传值 在Vue中,父组件向子组件传递值通常使用`props`特性。父组件通过`v-bind`指令(简写为`:`)将数据绑定到子组件的属性上。在示例代码...

    Linux下基于Netfilter的网络监听器的设计与实现.pdf

    《Linux下基于Netfilter的网络监听器的设计与实现》这篇文献主要探讨了如何在Linux操作系统中利用Netfilter框架设计和实现一个高效的网络监听器。Netfilter是Linux内核2.4.x版本引入的一个功能强大的网络数据包过滤...

    Vue将props值实时传递 并可修改的操作

    在Vue框架中,props是用来从父组件向子组件传递数据的一种机制。然而,props值是设计为只读的,这意味着子组件内部不应该直接...同时,了解如何处理watch监听器的特殊情况,可以提高开发效率并确保数据同步的正确性。

    frame之间进行参数传递例子

    1. **基本参数传递方式**:在编程中,参数传递主要有三种方式:值传递、引用传递和按需传递(在某些语言中)。值传递会复制原始值到新的内存空间,修改副本不会影响原始值;引用传递则传递的是对象的引用地址,改变...

    JSF中文教程+JSF参数传递方式

    你可以定义一个监听器方法来处理这些事件,参数通常会作为方法的输入。 4. **EL表达式和转换器**:EL表达式可以用来在Bean和组件之间传递复杂的对象。此外,JSF还允许自定义转换器,以确保数据在组件和Bean之间的...

    android输入数据点击按钮就可以传递到另外一个页面显示

    在监听器的onClick方法内,执行数据传递的逻辑。 4. **数据传递**: Android提供了多种数据传递方式,如Intent、Bundle、SharedPreferences等。在这个场景中,最常用的是Intent。创建一个新的Intent,将获取到的...

    【JavaScript源代码】微信小程序页面与组件之间信息传递与函数调用.docx

    组件之间的数据传递与组件到页面的传递类似,也可以嵌套组件并使用相同的方法进行通信。 总的来说,微信小程序中的页面与组件交互主要依赖于数据绑定、事件监听、函数调用和页面栈管理。通过理解并熟练掌握这些技术...

    Vue学习之旅之重点1:组件与数据传递

    在子组件中声明props,然后在父组件中通过属性绑定来传递值。 ```javascript // 子组件 Vue.component('child-component', { props: ['parentMessage'], template: '<span>{{ parentMessage }}</span>' }) // 父...

    GUI文本框数据传递.zip_GUI_GUI传递

    数据绑定允许控件的值与应用程序的某个数据源同步,当数据源改变时,控件的显示也会自动更新。 5. **模型-视图-控制器(MVC)模式**:在大型项目中,常常采用MVC模式来组织代码。在这种模式下,文本框作为视图的一...

    弹出框选择 返回父页面值

    4. **事件监听**:在A页面上设置事件监听器,监听特定的自定义事件,比如一个“返回”事件。当B页面完成选择并关闭时,可以触发这个事件,携带返回值。 5. **Web消息API(Web Messaging API)**:如果B页面是在新的...

    thickBox回传值

    在这个场景中,"thickBox回传值"指的是在使用ThickBox进行文件下载时,如何获取或传递下载操作完成后的一些返回信息,比如下载状态、文件信息等。 在ThickBox的使用过程中,通常会遇到以下关键知识点: 1. **...

    GUI.zip_GUI_GUI 参数传递

    在Python的Tkinter库或Java的Swing库中,我们可以通过定义事件监听器来实现这一功能。例如,在Python中,我们可以为Button组件绑定一个command参数,该参数可以是一个函数,函数的参数就是需要传递的值。 ```python...

Global site tag (gtag.js) - Google Analytics