状态模式-实现屏幕截取程序
生病中,在家无事,将以前写的抓屏程序丰富了一下。
支持了选择区域后,对选择区域的修改,向八个方向的大小调整和移动。
新增的功能使用状态模式实现比较的方便,程序有两种状态:1、区域选择状态,这个时候可以对整个区域进行鼠标拖动进行区域的选择。对鼠标的拖动和右键点击感兴趣。
2、区域修改状态,完成8个方向的大小调整。对鼠标的点击、拖动、右键都感兴趣。
原来的主程序不再处理鼠标事件,而是讲相应事件的功能委托给当前的状态去处理。状态的管理器由状态的基类来完成,没有设计单独的管理类。
程序使用方法:右键单击取消选中区,右键双击退出,左键双击对选中区域的截图进行保存。
附件中是程序的代码,Netbeans的工程
支持了选择区域后,对选择区域的修改,向八个方向的大小调整和移动。
新增的功能使用状态模式实现比较的方便,程序有两种状态:1、区域选择状态,这个时候可以对整个区域进行鼠标拖动进行区域的选择。对鼠标的拖动和右键点击感兴趣。
2、区域修改状态,完成8个方向的大小调整。对鼠标的点击、拖动、右键都感兴趣。
原来的主程序不再处理鼠标事件,而是讲相应事件的功能委托给当前的状态去处理。状态的管理器由状态的基类来完成,没有设计单独的管理类。
程序使用方法:右键单击取消选中区,右键双击退出,左键双击对选中区域的截图进行保存。
附件中是程序的代码,Netbeans的工程
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
通过MVEL表达式和Apache Chain职责链模式解耦MQ消息处理节点的实践应用
原創
2024-05-16 23:56:24
京东秒送售后系统退款业务重构心得| 京东零售技术团队
原創
2024-05-16 23:56:23
go-kit学习指南 - 中间件
原創
2024-05-14 12:17:31
Spring知识点详解(源码笔记+思维导图),AOP和IOC
osc_r0irdqn7
2024-05-14 01:47:38
DDD在大众点评交易系统演进中的应用
原創
2024-05-10 21:20:48
系统整容纪:责任链设计模式的应用实战(爆灯了,研发工期由45天降为1天)
原創
2024-04-28 11:17:20
工程中实践的微服务设计模式
原創
2024-04-19 23:17:23
DDD落地指南-架构师眼中的餐厅
原創
2024-04-16 11:16:34
WinForm应用实战开发指南 - 如何实现类似事件总线的消息处理?
界面開發小八哥
2024-04-15 11:35:27
万字长文,聊聊我在锦礼成长的这一年
原創
2024-04-15 11:16:26
SystemWeaver—电子电气系统协同研发平台
原創
2023-12-06 23:23:40
飞码LowCode前端技术之画布的设计 | 京东云技术团队
原創
2023-11-28 01:11:17
基于 Kubernetes 的 Serverless PaaS 稳定性建设万字总结
原創
2023-10-09 00:20:30