file 关闭_从零开始写文本编辑器(二十七):保存全部,关闭全部

3a0f68312ba38be0a3255f305f2dc405.png

前言

菜单项资源XML编辑问题持续了一周,本周换换口味,来实现一批比较简单的菜单功能。

在早期就实现了文件的“新建-打开-保存-另存为-关闭”等一系统功能。当用标签页支持多文档展示后,就产生关闭全部-保存全部的需求。本篇说说这两个功能。

重构单个文件关闭-保存

旧的设计

  • 由FrameMain的方法完成
  • 直接操作 TabbedPaneEditors

新的设计

  • 把方法push down(下移)到 TabbedPaneEditors内部
  • 直接调用 TabbedPaneEditors

直接上代码更直观

// FrameMain.java

fileSave(int index) 使用push down的重构方法,参见《重构》

private 

循环调用fileSave实现关闭全部

// FrameMain.java

循环调用fileClose实现关闭全部

public 

此处有一个逻辑,当文件被修改了,没有被保存,要写一段“对话框询问是否在关闭前保存?”的逻辑。我把它归到判断文件被修改模块,不在本篇处理。

以上~

参考

《重构》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值