![3a0f68312ba38be0a3255f305f2dc405.png](https://img-blog.csdnimg.cn/img_convert/3a0f68312ba38be0a3255f305f2dc405.png)
前言
菜单项资源XML编辑问题持续了一周,本周换换口味,来实现一批比较简单的菜单功能。
在早期就实现了文件的“新建-打开-保存-另存为-关闭”等一系统功能。当用标签页支持多文档展示后,就产生关闭全部-保存全部的需求。本篇说说这两个功能。
重构单个文件关闭-保存
旧的设计
- 由FrameMain的方法完成
- 直接操作 TabbedPaneEditors
新的设计
- 把方法push down(下移)到 TabbedPaneEditors内部
- 直接调用 TabbedPaneEditors
直接上代码更直观
// FrameMain.java
fileSave(int index) 使用push down的重构方法,参见《重构》
private
循环调用fileSave实现关闭全部
// FrameMain.java
循环调用fileClose实现关闭全部
public
此处有一个逻辑,当文件被修改了,没有被保存,要写一段“对话框询问是否在关闭前保存?”的逻辑。我把它归到判断文件被修改模块,不在本篇处理。
以上~
参考
《重构》