实用ExtJS教程100例-006:ExtJS中Window的用法示例

简介:

在前面几个示例中,我们演示了MessageBox的各种用法,今天这篇文章将演示如何使用Window。

我们首先来创建一个窗口:

var win = Ext.create("Ext.window.Window", {
    title: "标题 - www.qeefee.com",       //标题
    height: 200,                          //高度
    width: 400,                           //宽度
    layout: "fit",                        //窗口布局类型
    modal: true,                          //是否模态窗口,默认为false
    html: "<h2>你打开了一个窗口</h2>"     //窗口的html代码
});
win.show();                               //显示窗口

窗口的截图如下(查看在线示例):

image

在ExtJS 4.x中,我们推荐使用Ext.create()方法来创建对象。这个方法的第一个参数是类名,第二个参数的创建对象时用到的配置项。

在上面的示例中,我已经将配置项加了备注,不在详细的说明。

接下来看一个比较复杂的窗口

var win = Ext.create("Ext.window.Window", {
    title: "标题 - www.qeefee.com",
    height: 300,
    width: 400,
    layout: "fit",
    modal: true,
    resizable: false,
    maximizable: true,
    minimizable: false,
    closable: true,
    tbar: [
        { text: "保存", iconCls: "qicon-save" },
        { text: "新建", iconCls: "qicon-add" }
    ],
    buttons: [
        { text: "确定", iconCls: "qicon-accept" },
        { text: "取消", iconCls: "qicon-delete" },
    ],
    items: []
});
win.show();

程序运行截图如下(查看在线示例):

image

这个窗口有最大化和关闭按钮,并且包含了工具栏和按钮项,更像是我们在实际开发中使用的。

关闭窗口

窗口的关闭有两种方法,一种是close,一中是hide,从名字中就可以看出,前一个是真的关闭窗口并释放窗口资源,而hide则是将窗口隐藏了。

var g_win = Ext.create("Ext.window.Window", {
    title: "标题 - www.qeefee.com",
    height: 200,
    width: 400,
    layout: "fit",
    modal: false,
    html: "<h2>你打开了一个窗口</h2>"
});
Ext.get("btn3").on("click", function () {
    g_win.show();   //显示窗口
});
Ext.get("btn4").on("click", function () {
    g_win.hide();   //隐藏窗口
});
Ext.get("btn5").on("click", function () {
    g_win.close();  //关闭窗口(窗口关闭的时候将释放窗口资源)
});

在这段代码中,我们首先定义了一个全局的窗口,并在界面上放了三个按钮呢,分别绑定显示、隐藏和关闭窗口的方法。

当我们点击关闭窗口按钮以后,再回过头来点击显示窗口时会发现没有反应,打开控制台则能看到脚本错误:

image

这是因为close的时候窗口资源已经被释放了的原因(查看在线示例)。




本文转自齐师傅博客园博客,原文链接:http://www.cnblogs.com/youring2/p/extjs-100-examples-window.html,如需转载请自行联系原作者

相关文章
|
8月前
|
消息中间件 Java 数据库
自研Java框架 Sunrays-Framework使用教程「博客之星」
### Sunrays-Framework:助力高效开发的Java微服务框架 **Sunrays-Framework** 是一款基于 Spring Boot 构建的高效微服务开发框架,深度融合了 Spring Cloud 生态中的核心技术组件。它旨在简化数据访问、缓存管理、消息队列、文件存储等常见开发任务,帮助开发者快速构建高质量的企业级应用。 #### 核心功能 - **MyBatis-Plus**:简化数据访问层开发,提供强大的 CRUD 操作和分页功能。 - **Redis**:实现高性能缓存和分布式锁,提升系统响应速度。 - **RabbitMQ**:可靠的消息队列支持,适用于异步
自研Java框架 Sunrays-Framework使用教程「博客之星」
|
7月前
|
人工智能 自然语言处理 算法
DeepSeek vs ChatGPT:AI对决中的赢家是……人类吗?
DeepSeek VS ChatGPT:DeepSeek以开源黑马姿态崛起,凭借低成本、高性能的「DeepSeek-V3」和专为深度推理设计的「DeepSeek-R1」,成为中小开发者的首选。而ChatGPT则较贵。 然而,AI依赖也带来隐忧,长期使用可能导致记忆衰退和“脑雾”现象。为此,推荐Neuriva解决方案,专注力提升30%,记忆留存率提升2.1倍,助力人类在AI时代保持脑力巅峰。 DeepSeek赢在技术普惠,ChatGPT胜于生态构建,人类的关键在于平衡AI与脑力健康,实现“双核驱动”突破极限!
612 7
|
11月前
|
大数据 网络安全 数据安全/隐私保护
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(二)
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(二)
352 5
|
11月前
|
消息中间件 分布式计算 算法
大数据-67 Kafka 高级特性 分区 分配策略 Ranger、RoundRobin、Sticky、自定义分区器
大数据-67 Kafka 高级特性 分区 分配策略 Ranger、RoundRobin、Sticky、自定义分区器
156 3
|
11月前
|
机器学习/深度学习
深度学习中的模型压缩技术
【10月更文挑战第5天】 本文探讨了深度学习中的模型压缩技术,包括权重剪枝与共享、低秩分解、知识蒸馏和量化等方法。通过这些技术,我们可以在保持模型性能的同时减少模型的大小和计算量,从而提升模型的实用性。
149 1
|
8月前
|
SQL Java 数据库连接
对Spring、SpringMVC、MyBatis框架的介绍与解释
Spring 框架提供了全面的基础设施支持,Spring MVC 专注于 Web 层的开发,而 MyBatis 则是一个高效的持久层框架。这三个框架结合使用,可以显著提升 Java 企业级应用的开发效率和质量。通过理解它们的核心特性和使用方法,开发者可以更好地构建和维护复杂的应用程序。
350 29
|
移动开发 前端开发 程序员
有哪些代码开源平台值得推荐?
开源是程序员最高的浪漫
|
9月前
|
数据安全/隐私保护
什么是正向代理
正向代理是网络代理的一种形式,作为客户端与外部服务器间的中介,接收并转发客户端请求至目标服务器,再将服务器响应转回给客户端。适用于访问受限资源、保护隐私及跨境访问等场景,增强客户端的灵活性和安全性。
188 0
|
10月前
|
运维 监控 负载均衡
介绍一下微服务架构的优缺点
介绍一下微服务架构的优缺点
349 0
|
Java API
使用 Java 来实现两个 List 的差集操作
使用 Java 来实现两个 List 的差集操作
703 3