【Java】【学习】【监听器】Listener的学习的案例(窗体程序)

简介: 【Java】【学习】【监听器】Listener的学习的案例(窗体程序)

JavaWeb 监听器listener 学习与简单应用


Java窗体程序使用监听器

效果:点击按钮,控制台出现文字

q1.png

代码如下

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date;
public class edu_Listener {
    public static void main(String[] args) {
        //创建窗口
        JFrame frame = new JFrame();
        //设置窗口大小
        frame.setSize(250,200);
        //设置窗口位置
        frame.setLocation(350,250);
        //创建按钮
        JButton btn = new JButton("Click");
        //创建监听器
        ActionListener listener = new ActionListener() {
            //处理事件的方法(事件处理器)
            @Override
            public void actionPerformed(ActionEvent e) {
                String dateStr = new Date(e.getWhen()).toString();
                System.out.println(dateStr);
                System.out.println("Hello world !");
            }
        };//注意这里的分号
        // 将监听器注册到按钮(此后监听器会一直处于监听按钮的状态)
        btn.addActionListener(listener);
        //将按钮添加到窗口
        frame.add(btn);
        //设置窗口显示状态
        frame.setVisible(true);
        System.out.println("执行完毕!");
    }
}

Javaweb 使用监听器


? | 课件只写了一半

监听器类

类名:MyServletContextListener

代码:

import jakarta.servlet.*;
import jakarta.servlet.http.*;
import jakarta.servlet.annotation.*;
@WebListener
public class MyServletContextListener
        implements ServletContextListener, HttpSessionListener, HttpSessionAttributeListener {
    public MyServletContextListener() {
    }
//    在创建ServletContext对象时调用
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        /* This method is called when the servlet context is initialized(when the Web application is deployed). */
    }
//    在销毁ServletContext对象时地调用
    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        /* This method is called when the servlet Context is undeployed or Application Server shuts down. */
    }
    @Override
    public void sessionCreated(HttpSessionEvent se) {
        /* Session is created. */
    }
    @Override
    public void sessionDestroyed(HttpSessionEvent se) {
        /* Session is destroyed. */
    }
    @Override
    public void attributeAdded(HttpSessionBindingEvent sbe) {
        /* This method is called when an attribute is added to a session. */
    }
    @Override
    public void attributeRemoved(HttpSessionBindingEvent sbe) {
        /* This method is called when an attribute is removed from a session. */
    }
    @Override
    public void attributeReplaced(HttpSessionBindingEvent sbe) {
        /* This method is called when an attribute is replaced in a session. */
    }
}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
<!--    配置ServletContextListener生命周期监听器-->
    <listener>
    <listener-class>MyServletContextListener</listener-class>
    </listener>
</web-app>
相关文章
|
1天前
|
缓存 Java 数据库
Java并发编程学习11-任务执行演示
【5月更文挑战第4天】本篇将结合任务执行和 Executor 框架的基础知识,演示一些不同版本的任务执行Demo,并且每个版本都实现了不同程度的并发性。
20 4
Java并发编程学习11-任务执行演示
|
2天前
|
Java Linux C语言
一步带你了解java程序逻辑控制
一步带你了解java程序逻辑控制
9 2
|
2天前
|
Java 数据安全/隐私保护
java中程序控制的典例
java中程序控制的典例
8 1
|
2天前
|
设计模式 消息中间件 安全
【Java多线程】关于多线程的一些案例 —— 单例模式中的饿汉模式和懒汉模式以及阻塞队列
【Java多线程】关于多线程的一些案例 —— 单例模式中的饿汉模式和懒汉模式以及阻塞队列
9 0
|
3天前
|
数据库连接
java+ssm+vue代码视频学习讲解
java+ssm+vue代码视频学习讲解
6 0
|
3天前
|
存储 Java 数据库连接
使用Java开发桌面应用程序
使用Java开发桌面应用程序
13 0
|
3天前
|
关系型数据库 MySQL Java
通过使用阿里云服务器,搭建Java程序的运行环境
通过使用阿里云服务器,搭建Java程序的运行环境
|
10天前
|
存储 网络协议 Java
本地MinIO存储服务通过Java程序结合cpolar实现远程连接上传文件
本地MinIO存储服务通过Java程序结合cpolar实现远程连接上传文件
|
11天前
|
Java 关系型数据库 测试技术
Java代码一键生成数据库文档(案例详解)
Screw是一个自动化数据库文档生成工具,能根据数据库表结构快速生成简洁、多格式(HTML、Word、Markdown)的文档,支持MySQL、MariaDB等多数据库。它使用Freemarker模板,允许用户自定义样式。依赖包括HikariCP数据库连接池和对应JDBC驱动。通过在Java代码或Maven插件中配置,可方便生成文档。示例代码展示了如何在测试用例中使用Screw。文档效果依赖于数据库中的表和字段注释。
|
12天前
|
存储 Java 开发工具
【Java探索之旅】用面向对象的思维构建程序世界
【Java探索之旅】用面向对象的思维构建程序世界
10 0