Чтобы проиллюстрировать мою проблему, скажем, у меня есть экземпляр Thing, у которого есть два свойства текста - 'foo' и 'bar'.
Я хочу создать панель для редактирования экземпляров Thing. На панели есть два компонента TextField, один для свойства 'foo' и один для свойства 'bar'.
Я хочу иметь возможность вызывать setDefaultModel()
на моей панели с экземпляром IModel<Thing>
и компонентами TextField для ссылки на эту модель. Как лучше всего этого добиться?
Должен ли я переопределить метод Panel.setDefaultModel()
, чтобы он также вызывал setModel () для двух компонентов TextField? Или, возможно, создать анонимные ReadOnlyModels для компонентов TextField, переопределив метод getObject()
для извлечения объекта из модели Panel, содержащей его?
Ничто из этого не кажется мне очень элегантным, поэтому мне было интересно, есть ли лучший способ?