Java“保存”与“另存为”策略
Posted
技术标签:
【中文标题】Java“保存”与“另存为”策略【英文标题】:Java "Save" vs "Save As" Strategies 【发布时间】:2015-05-06 20:34:57 【问题描述】:我正在构建一个基本的绘画应用程序并实现了打开和保存功能,但是,我想添加“另存为”。本质上,Save As 将始终使用 JFileChooser,但如果文件已存在且当前正在编辑,则 Save 会自动写入文件。
话虽如此,我可以调用哪些策略来简化此流程?显然,根据我已经编写的保存功能的实现,另存为已经完成(如果该措辞令人困惑,我深表歉意)。但是,为了使“保存”功能按我的意愿发挥作用,我相信我需要一种方法来跟踪文件是否存在以及当前是否正在编辑。
那么,什么是跟踪文件是否存在以及当前是否已加载的好方法——如果存在,Save 函数将在没有 JFileChooser 的情况下写入,但如果不存在,它将启动 Save作为功能。
对于它的价值,突出显示的保存功能应该在调用打开对话框时应用,所以我可以以某种方式跟踪这一点。我也在打开缓冲图像并将它们作为 TexturePaint 放置在我的形状对象上。因此,当发生上述情况时,我希望“保存”对话框作为“正常”保存功能工作,这是另一个需要考虑的功能。
但是,我真的很想了解一些更好的策略来在更通用的意义上实现这一目标。到目前为止,我空手而归。
【问题讨论】:
htmlDocumentEditor
是一个完整的例子,引用here。
【参考方案1】:
您可以向存储文件名的对象添加一个字段,该字段仅在您打开文件或使用另存为时设置。然后,如果文件名为空,点击保存实际上调用了另存为的代码。
【讨论】:
以上是关于Java“保存”与“另存为”策略的主要内容,如果未能解决你的问题,请参考以下文章
如何使用与负载名称相同的名称自动保存结构变量,例如“另存为..”