|
|
|
вопрос по binding в swing
|
|||
|---|---|---|---|
|
#18+
Есть класс сущность, который также используется как бин.(буквально пара полей) Поле ввода jFormattedTextField связано(параметр text) с полем из сущности. В базу все вводиться и сохраняется нормально. 1) Вопрос в том, чтобы при нажатии на кнопку вернуть значение в jFormattedTextField из базы. Я повесил на action кнопки Код: java 1. (xxxBean это экземпляр бина в форме который используется для привязки.) И думал, что дальше binding мне сам вставит полученные значения в привязанные поля. Но ничего не происходит ;( Хотя значения из базы возвращаются. 2) Что делаю не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2014, 12:05 |
|
||
|
вопрос по binding в swing
|
|||
|---|---|---|---|
|
#18+
Код биндинга покажите. Вероятно нужно вызвать событие propertyChanged, чтобы сказать биндингу что новые данные появились. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2014, 12:13 |
|
||
|
вопрос по binding в swing
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2014, 12:34 |
|
||
|
вопрос по binding в swing
|
|||
|---|---|---|---|
|
#18+
olegeos, Ну, вот, даже если просто логику включить и подумать. Мы прибиндили один объект к UI форме. А потом вычитали другой объект из БД. Как об этом биндинг узнает? Никак. Код биндинга генереный? Ибо нафиг там ELProperty и пустая строка в конце, мне не понять. Варианта два. 1) Не знаю будет ли работать. Но можно сохранить ссылку на Binding и вызвать у него setSourceObject http://doc.formdev.com/beansbinding/org/jdesktop/beansbinding/Binding.html#setSourceObject(SS) 2) Таки почитать про MVVM паттерн, который как раз создан для биндинга. Мы у себя к GUI классу всегда заводим ViewModel класс, который внутри содержит ссылки на сущности, а так же некоторую логику, относящуюся только к GUI. Весь биндинг привязан к ViewModel, а не к Model. Тогда, если надо обновить Model (xxxBean) просто вызываете viewModelInstance.setBean(xxxBean); У ViewModel, соотвественно должен поддерживать PropertyChange, либо рукописный, либо сгенерить можно через всяки прокси хаки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2014, 12:52 |
|
||
|
вопрос по binding в swing
|
|||
|---|---|---|---|
|
#18+
Ещё меня часто посещает мысль что на Model вообще нельзя биндить. Все поля UI должны быть забинжены на свойства ViewModel. Это приводит к некоторому оверхеду в коде, но зато, сэкономит много кривого кода, когда нужно перехватывать определенные события изменения состояния и принимать решения, разрешать новое состояние в модели или нет. С другой стороны если всю Model делать строго по JavaBean спецификациям, может и не нужно сильно заморачиваться. К тому же у вас, похоже, 2х звенка. Проблемы с сервером нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2014, 12:59 |
|
||
|
вопрос по binding в swing
|
|||
|---|---|---|---|
|
#18+
Так вот не понимаю, "прибиндили" к xxBean(этот экземпляр определен в начале один раз) через контроллер получили xxxBean = new xxxBeanJpaControl().findByID(x); findByID как раз и возвращает такой же экземпляр но с заполненными полями. Пока это тестовая маленькая программка так что лишний класс не нужен, модель соответствует, но на всякий случай проверю может все-таки в этом проблема. Код генерированный. Даже если взять и вызвать в xxBean сет метод и записать туда что-нибудь на форме это не отразиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2014, 13:18 |
|
||
|
вопрос по binding в swing
|
|||
|---|---|---|---|
|
#18+
olegeosfindByID как раз и возвращает такой же экземпляр но с заполненными полями. А какая разница такой же он или нет. Этот другой экземпляр. Binding про него ничего не знает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2014, 13:23 |
|
||
|
вопрос по binding в swing
|
|||
|---|---|---|---|
|
#18+
что делать?? понятно что он другой, а как же ссылка на него... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2014, 13:31 |
|
||
|
вопрос по binding в swing
|
|||
|---|---|---|---|
|
#18+
olegeosчто делать?? Вроде написал рецепты 15815508 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2014, 13:37 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38601731&tid=2127406]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 431ms |

| 0 / 0 |
