「java各种监听」JAVA 监听

博主:adminadmin 2022-11-26 20:57:07 50

本篇文章给大家谈谈java各种监听,以及JAVA 监听对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

在程序中(java,C#)监听器是啥玩意?

监听器即listen,指的是被动监听,举例来说我有一个温度计,它一直监听着温度,如果温度发生了变化水银柱的高度就发生变化,这里温度计是一个监听器,温度变化是一个事件,当这个时间出发了监听器时,则得到水银柱高度变化这么个结果,你懂了么?

java事件监听

你只要改下下面的就可以了:

JButton b,v;//在方法外面声明JButton 对象(加上这一行)

public Test2() {

super("java实例");

b = new JButton("点击");//把着两行的JButton去掉就可以了,你之前是把它声明在方法体内部的,在添加监听器匹配对象是那个b拿不到,其他的都没有什么问题的

v = new JButton("确定");

getContentPane().add(b);

getContentPane().add(v);

setLayout(new FlowLayout());

b.addActionListener(this);

v.addActionListener(this);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(200, 200, 300, 300);

b.setBounds(0, 0, 30, 40);

v.setBounds(50, 50, 30, 40);

setVisible(true);

}

跪求java监听器原理(学生信息管理系统)

Java 最新的事件处理方法是基于授权事件模型

事件源生成事件并将其发送至一个或多个监听器

监听器简单地等待,直到它收到一个事件。一旦事件被接受,监听器将处理这些事件,然后返回。

事件:在授权事件模型中,事件是一个描述事件源状态改变的对象 。

通过鼠标、键盘与 GUI 界面直接或间接交互都会生成事件。 如:按下一个按钮、通过键盘输入一个字符、选择列表框中的一项、点击一下鼠标等。

事件源:事件源是一个生成事件的对象

一个事件源可能会生成不同类型的事件

事件源提供了一组方法,用于为事件注册一个或多个监听器。

每种事件的类型都有其自己的注册方法。一般形式为:

public void addEventTypeListener (TypeListener e)

AWT采取的事件控制过程:监听器对象属于一个类的实例,这个类实现了一个特殊的接口,名为“监听者接口”

事件源是一个对象,它可以注册一个或多个监听器对象,并向其发送事件对象。

事件源将在发生事件时向所有注册的监听器发送事件对象。

监听器对象使用事件对象中的信息来确定它们对事件的响应

事件模型:

1.基于代理(授权)事件模型

事件处理是一个事件源授权到一个或者多个事件监听器。其基本原理是:组件激发事件,事件监听器监听和处理事件,可以调用组件的addEventTypeListener方法向组件注册监听器。把其加入到组件以后,如果组件激发了相应类型的事件,那么定义在监听器中的事件处理方法会被调用。

2.此模型主要由以三种对象为中心组成

事件源 由它来激发产生事件

是产生或抛出事件的对象。

事件监听器 由它来处理事件

实现某个特定EventListener 接口,此接口定义了一种或多种方法,事件源调用它们以响应该接口所处理的每一种特定事件类型 。

事件 具体的事件类型

事件类型封装在以java.util.EventObject为根的类层次中。当事件发生时,事件记录发生的一切事件,并从事件源传播到监听器对象

java 文本框监听

//简单的帮你写了基本功能 如下:

import java.awt.event.FocusEvent;

import java.awt.event.FocusListener;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class TestJT  extends JPanel{

 public TestJT() {

  

  setLayout(null);

  JLabel label=new JLabel("请输入省份证:");

  label.setOpaque(true);

  label.setBounds(50, 30,100, 25);

  add(label);

  

  final JTextField tf1=new JTextField();

  tf1.setOpaque(true);

  tf1.setBounds(160,30,80,30);

  add(tf1);

  

  tf1.addFocusListener(new FocusListener() {

   

   @Override

   public void focusLost(FocusEvent e) {

    if( tf1.getText().trim().length()!=18){

     JOptionPane.showMessageDialog(null, "输入的身份证号码不是18位");

     return;

    }

   }

   @Override

   public void focusGained(FocusEvent e) {

    // TODO Auto-generated method stub  

   }

  });

 

  JLabel labe2=new JLabel("请输入名字:");

  labe2.setOpaque(true);

  labe2.setBounds(50, 70,100, 25);

  add(labe2);

  

  final JTextField tf2=new JTextField();

  tf2.setOpaque(true);

  tf2.setBounds(160,70,80,30);

  add(tf2);

  

  JLabel labe3=new JLabel("请输入性别:");

  labe3.setOpaque(true);

  labe3.setBounds(50, 110,100, 25);

  add(labe3);

  final JTextField tf3=new JTextField();

  tf3.setOpaque(true);

  tf3.setBounds(160,110,80,30);

  add(tf3);

 }

 public static void main(String[] args) {

  JFrame frame=new JFrame();

  JPanel p=   new TestJT();

  frame.add(p);

  frame.setVisible(true);

  frame.setSize(500, 500);

  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 }  

}

关于java各种监听和JAVA 监听的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-26,除非注明,否则均为首码项目网原创文章,转载请注明出处。