Swing MVC体系结构浅析

第七讲 Swing用户界面设计 7.1 Swing简介  7.1.1 简介   第五讲中我们学习了AWT,AWT是Swing的基础。Swing的产生主要原因就是AWT不能满足图形化用户界面发展的需要。AWT设计的初衷是支持开发小应用程序的简单用户界面。例如AWT缺少剪贴板、打印支持、键盘导航等特性,而且原来的AWT甚至不包括弹出式菜单或滚动窗格等基本元素。   此外AWT还存在着严重的缺陷,人们使AWT适应基于继承的、具有很大伸 阅读详情

Swing MVC体系结构浅析

1 Swing与MVC

  Swing组件设计使用了著名的MVC模型-视图-控制器体系结构。为了了解MVC体系结构与Swing组件的关系,我们来看一下如何设计一个表示按钮的组件,因为按钮的各个部分可以与MVC体系结构的3个部分对应起来。

  按钮在任意给定时刻,可处于启用和无效两种状态之一。很显然,按钮只有处于启用状态时才会响应点击。记录按钮状态是很有用的,视图需要根据按钮的状态进行不同的渲染。按钮的所有状态就是MVC体系结构的模型部分。模型还包括按钮的其他属性。

  你现在了解到按钮在模型中保存其状态,视图是按钮的图形表示,它使用模型来确定如何绘制按钮。按钮的另外一个重要功能是,它的状态可以改变-当你用鼠标点击它,或者当它处于焦点时按空格或回车键,即可激活按钮。显然,必须有某些东西来监控鼠标和键盘以及按钮得到或失去焦点的情况,以便注意到必要的状态改变。组件负责接收和响应输入的部分就是控制器。

  我们用图来表示所有这些。下图说明了在MVC体系结构中按钮的各个部分的表示。

Swing的整体设计及MVC体系结构 一:Swing的整体设计1,  它是建立在Awt的基础之上,是Awt的增强版本,包括大多数的轻量组件的组件集和插入式外观。Swing的设计是基于MVC的体系结构,允许Swing组件被不同的数据模型和视图所替代,这样就产生了“可插入外观”。2,  Awt最初只包括对等到组件相关联重量组件,它们在自己的本地不透明窗口中绘制。轻量组件没有本地对等组件,而且它们在自己的重量容器中绘 阅读详情

相关推荐

swing之mvc模式

1 Swing与MVC   Swing组件设计使用了著名的MVC模型-视图-控制器体系结构。为了了解MVC体系结构与Swing组件的关系,我们来看一下如何设计一个表示按钮的组件,因为按钮的各个部分可以与MVC体系结构的3个部分对应起来。   按钮在任意给定时刻,可处于启用和无效两种状态之一。很显然,按钮只有处于启用状态时才会响应点击。记录按钮状态是很有用的,视图需要根据按钮的状态进行不同的

Just Do It! 9166

JAVA 从SWING的Model 初探MVC思想

最近尝试写一个记账的项目来巩固JAVASE的知识,顺便学习真正的项目该如何一点点构建,看了个类似的项目叫一本糊涂账,来自 http://how2j.cn/k/hutubill ,因为没有认真看过swing的知识,所以在用到ComboBox和Table的时候对于ComboBoxModel和TableModel这两个需要写的model有些异或。因为是GUI,又有Model,我就很自觉的想:这个是不是就...

JeffLee的博客 2256

在Java Swing中实现MVC设计模式(英文)

Model-View-Controller (MVC) Design Pattern

java swing的mvc模式的简单框架

java swing的mvc模式的简单框架,应用了用观察者模式于gui和控制器之间,将gui作为一个对象传进控制器进行处理,这个简单框架的控制器那里还有待改进。这个代码中包含了使用框架的简单例子在里面

Swing MVC 代码示例

Swing MVC 代码 示例 Swing MVC 代码 示例

告别ROS1!在Ubuntu 22.04上为VINS-Fusion适配ROS2 Humble的完整踩坑记录

本文详细记录了在Ubuntu 22.04上将VINS-Fusion从ROS1迁移到ROS2 Humble的完整过程,包括环境搭建、依赖管理、核心代码适配及性能优化。通过实战案例和调试技巧,帮助开发者高效解决迁移过程中的常见问题,提升系统稳定性和性能。

weixin_42628688的博客 280

一阶电路基础知识

一阶电路(First-order circuit)是指由一个电感(L)或一个电容(C)和一个电阻(R)组成的电路。根据电感或电容的位置,一阶电路可以分为RC电路、RL电路、LC电路、RLC电路。一阶电路常用于滤波、放大、时序控制等各种电子设备和系统中。通过调整电阻、电容或电感的数值,可以改变电路的频率响应、滞后/提前相位等特性,实现不同的功能和性能一阶、二阶电路区别一阶电路由一个电容或一个电感与一个电阻组成,而二阶电路则由两个电容或两个电感与一个电阻组成。

weixin_45365488的博客 1万+

告别Godot默认编辑器:手把手教你用VSCode配置C#开发环境(附中文注释避坑指南)

本文详细介绍了如何将VSCode配置为Godot引擎的C#开发环境,提升游戏开发效率。从环境准备、扩展配置到解决中文编码问题,提供完整的避坑指南和高级调试技巧,帮助开发者充分利用VSCode的智能补全和调试功能,打造高效工作流。

weixin_30596023的博客 189

DevExpress中使用BandGridView实现复合(多行)表头、设置多行表头背景颜色、表格边框颜色

一、实现效果 二、 实现方法 2.1、创建复合表头 ①将创建的GridControl下的GirdView1转化为BandGridView类型; ②创建需要展示的列(指定列的名称【Name】、描述【caption】、数据字段名称【FieldName】) ③绑定列实现复合表头。 注意:如果复合表头有多行,则需要设置新增Band的Row Count,然后设置【Band properties下的AutoFillDown=false】 详细操作如下: 注意:如果要隐藏表格的设计字段内容,则需.

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 2893

Qt界面美化-飞扬青云自绘控件插件的使用-避免采坑

1、先上一个集成到QtCreater中的效果图: 2、飞扬青云自绘控件插件下载地址:https://gitcode.net/mirrors/feiyangqingyun/qucsdk?utm_source=csdn_github_accelerator 3、集成插件到QtCreater中的方法: (1)、查看自己使用的QtCreater的版本信息,我的:Qt 5.15.2 MSVC2019 64位 (2)插件下载下来后工程预览: 我选择msvc版本的SDK,打开找到匹配的SDK:...

小米的修行之路 2792

第12篇:TMC2240 CoolStep节能功能|软件配置+功耗测试(保姆级)

本文介绍了TMC2240驱动芯片的CoolStep节能功能,通过动态调节电机电流实现功耗优化。CoolStep利用StallGuard技术实时检测负载,自动调整运行电流,空载时可降低50%以上功耗。文章详细讲解了节能原理、寄存器配置方法和参数校准步骤,提供可直接复用的STM32代码。该功能特别适合电池供电设备,能显著延长续航时间,同时保持电机性能稳定。配置时需注意SG阈值、电流步长等关键参数,并可与静音模式叠加使用。

BackCatK Chen的博客 918

Python爬虫实战:全方位解析前程无忧(51job)职位详情爬取及反爬破解

平台规模:覆盖全国各行业、数百万条岗位信息。数据特点:职位描述详细,职位标签丰富。数据价值:支持招聘趋势分析、职业发展研究、薪资行情调研。推荐Python 3.10+,支持最新async特性与库兼容。

2201_76125261的博客 1486

【AI Agent教程】各种Agent开发框架都是如何实现ReAct思想的?深入源码学习一下

驱动大模型有很多种方式,例如纯Prompt方式、思维链方式、ReAct方式等。ReAct 方式是 AI Agent 最常用的实现思路之一,它强调在执行任务时结合推理(Reasoning)和行动(Acting)两个方面,使得Agent能够在复杂和动态的环境中更有效地工作。

同学小张的博客 6396

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上一篇: JAVA Swing异或图形模式
下一篇: Swing 可插入外观LookAndFeel浅析
飞天金刚
博客等级 码龄17年 35粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值