狀態模式-實現屏幕截取程序
生病中,在家無事,將以前寫的抓屏程序豐富了一下。
支持了選擇區域後,對選擇區域的修改,向八個方向的大小調整和移動。
新增的功能使用狀態模式實現比較的方便,程序有兩種狀態:1、區域選擇狀態,這個時候可以對整個區域進行鼠標拖動進行區域的選擇。對鼠標的拖動和右鍵點擊感興趣。
2、區域修改狀態,完成8個方向的大小調整。對鼠標的點擊、拖動、右鍵都感興趣。
原來的主程序不再處理鼠標事件,而是講相應事件的功能委託給當前的狀態去處理。狀態的管理器由狀態的基類來完成,沒有設計單獨的管理類。
程序使用方法:右鍵單擊取消選中區,右鍵雙擊退出,左鍵雙擊對選中區域的截圖進行保存。
附件中是程序的代碼,Netbeans的工程
支持了選擇區域後,對選擇區域的修改,向八個方向的大小調整和移動。
新增的功能使用狀態模式實現比較的方便,程序有兩種狀態:1、區域選擇狀態,這個時候可以對整個區域進行鼠標拖動進行區域的選擇。對鼠標的拖動和右鍵點擊感興趣。
2、區域修改狀態,完成8個方向的大小調整。對鼠標的點擊、拖動、右鍵都感興趣。
原來的主程序不再處理鼠標事件,而是講相應事件的功能委託給當前的狀態去處理。狀態的管理器由狀態的基類來完成,沒有設計單獨的管理類。
程序使用方法:右鍵單擊取消選中區,右鍵雙擊退出,左鍵雙擊對選中區域的截圖進行保存。
附件中是程序的代碼,Netbeans的工程
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
系統整容紀:責任鏈設計模式的應用實戰(爆燈了,研發工期由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
領域建模的體系化思維與6種方法論
原創
2023-08-29 00:41:45
從設計模式談業務開發
原創
2023-07-07 12:25:28
網絡編程框架Java NIO、Mina、Netty、Grizzy的異同點
網絡編程框架Java NIO、Mina、Netty、Grizzy的異同點 關注 Java NIO、Mina、Netty、Grizzly都是常見的網絡編程框架,下面我們來看一下它們的異同點。
kisshua
2023-05-23 22:27:04
萬字長文詳解如何使用Swift提高代碼質量 | 京東雲技術團隊
原創
2023-05-10 11:55:55
一種新的流:爲 Java 加入生成器(Generator)特性
原創
2023-04-25 09:13:40