У меня судороги мозга, пытаясь понять, как использовать JGoodies в моем приложении.jgoodies bindings + косвенные изменения
У меня есть класс Article, который является компонентом, который имеет свойства только для чтения. Article
- это «простой» компонент и не управляет слушателями свойств, поскольку свойства никогда не меняются. У меня есть Swing JPanel, который я хотел бы использовать для отображения определенных свойств статьи. Различные объекты Статьи могут рассматриваться в разное время.
Я ищу что-то (X), который выполняет следующие действия с помощью одного или нескольких объектов:
- X содержит просматриваемой статьи. Я могу позвонить
X.setArticle()
иX.getArticle()
, чтобы перейти на другую статью. Другого способа изменить просматриваемую в настоящее время статью нет, мне нужно пройти через X, чтобы он знал, что я меняю ее. - Когда я настраивал свой JPanel, я хочу использовать X для создания JTextFields только для чтения, которые привязаны к различным свойствам просматриваемой в настоящее время статьи (название, авторы и т. Д.)
- (это следует из № 1 и # 2) В любое время вызывается X.setArticle(), содержимое текстовых полей будет автоматически обновляться.
Я попытался с помощью BeanAdapter для извлечения моделей свойств из статьи, содержащейся в ValueHolder и BasicComponentFactory.createTextField() для создания текстовых полей, и все это, кажется, работает кроме что я получаю com.jgoodies.binding.beans.PropertyUnboundException
жалуясь, что мой класс статьи имеет несвязанные свойства. Duh! Я знаю это, я просто не могу понять, как получить правильную «сантехнику», чтобы справиться с ней. Каждый Article
не поддается изменению, но просматриваемая в данный момент статья может указывать на другую.
любые предложения?