2012-01-17 2 views
0

Я пишу класс для обработки с чтением и записью файлов. Я использовал логическую переменную с именем autoSave. Если autoSave является истинным, когда вызван метод addRow (someData), он немедленно записывает данные в файл. Если autoSave является ложным, он помещает данные в ArrayList и ждет вызова метода Save(), чтобы записать их в файл. Все в порядке.Пусть кодер прослушает изменения?

Что я хочу; если autoSave является ложным, когда добавленная строка (вызванная addRow) позволяет пользователю прослушивать это событие. Поэтому человек, который будет использовать этот класс, может легко обновить свой gui.

+4

Вы должны, возможно, взглянуть на наблюдатель шаблон дизайна наблюдаемого в Java. Я не совсем понимаю, что вы хотите. –

+0

«Позвольте пользователю поймать это». Я не уверен, что полностью понимаю ваш вопрос. Является пользователем приложения или человеком, который будет использовать ваш класс? –

ответ

2

Использовать Observer Pattern. Конкретная реализация этого шаблона включает слушателей смены свойств.

0

Кажется, вы хотите создать графический интерфейс пользователя?

Если я вас понял правильно ...
Изменения, происходящие в модели данных (т.е. нажмите на кнопку «Добавить строку») должны быть непосредственно отражены в представлении (графического интерфейса пользователя, который на самом деле можно увидеть), даже если «Автосохранение» выключено.

Вероятно, лучший подход к этому, вместо того, чтобы узнать, что он должен обновить, возможно, через шаблон Observer, - это автоматически обновлять/перерисовывать GUI и показывать изменения. Этот перерисовка также будет вызвана наблюдателем. Кажется, вы знаете, как обновить графическое представление?

Или перерисовать на самом деле полную перезагрузку сохраненного файла?

Это может помочь, если вы расскажете язык/рамке вы разрабатываете в.

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