2015-05-06 5 views
2

Я создаю основное приложение для рисования и реализовал функцию Open and Save, однако я хотел бы добавить в «Сохранить как». По сути, Save As всегда использовал JFileChooser, но Save автоматически записывал бы в файл, если файл уже существует и в настоящее время редактируется.Java «Сохранить» против «Сохранить как» Стратегии

С учетом сказанного, какие стратегии я могу использовать для оптимизации этого процесса? Очевидно, что Save As уже завершен для реализации функции Save, которую я уже написал (извините, если эта формулировка запутанна). Однако, чтобы сделать функцию «Сохранить» функцией, как я ее предполагаю, я считаю, что мне нужен способ отслеживать, существует или нет файл и в настоящее время редактируется.

Итак, что такое хороший способ отслеживать, существует или нет файл и загружается ли он в настоящий момент, и если это так, функция Save будет писать без JFileChooser, но если это не так, Сохранить как функциональность.

Для чего стоит использовать функцию сохранения, как выделено, при вызове диалогового окна «Открыть», поэтому я мог бы как-то отслеживать это. Я также открываю bufferedimages и кладу их как TexturePaint поверх моих объектов формы. Поэтому, когда это происходит, когда я хочу, чтобы диалог «Сохранить» работал как «нормальная» функция сохранения, так что это еще одна особенность, которая должна учитываться.

Однако я бы очень хотел узнать о некоторых хороших стратегиях для достижения этого в более общем смысле. До сих пор я пришел с пустыми руками.

+1

«HTMLDocumentEditor» является полным примером, приведенным здесь [http://stackoverflow.com/a/10160836/230513]. – trashgod

ответ

0

Вы можете добавить поле к объекту, в котором хранится имя файла, и оно устанавливается только при открытии файла или при использовании Сохранить как. Затем, если имя файла равно null, нажатие на Save фактически вызывает код Save As.

Смежные вопросы