Форум на Kuban.ru (http://forums.kuban.ru/)
-   Разработка программ (http://forums.kuban.ru/f1482/)
-   -   SWING (http://forums.kuban.ru/f1482/swing-5203411.html)

Zam11 25.12.2013 09:14

SWING
 
Добрый день.
Есть форма с сотней(а может и 2-мя сотнями) полей для ввода, вопрос как правильно все это поместить в БД. Поясняю вариант 1: пробежать по всем панелям и собрать в список или map(если в мап то можно указать название поля - значение) компоненты с приведением к текстфилд, затем уже его методом получать содержимое и передавать в сущность для последующей записи в БД. Сразу возникают проблемы с типами данных т.к. из текстфилд возвращает всегда строку, конечно ее можно легко парсить, но это надо делать индивидуально для каждого значения:(
2: Создать бин, привязать к нему через биндинг поля...(опять же потом в сущность и данные в БД) работающего варианта у меня не получилось, куча ошибок связанных с типами полей.
Хотелось бы замечания, предложения услышать...
Да сразу говорю задача большее учебная чем реальная.

wayerr 26.12.2013 08:02

1) делается адаптер позволяющий сохранить в одну таблицу любой из допустимых типов значений (строка\дата\число и т.п.), зависит от таблицы (поле для каждого типа или все в одно поле с указанием типа), может будешь использовать просто конвертацию в строку и обратно

2) делается интерфейс Editor с методами getComponent и getValue setValue, getType

3) делается фабрика этих Editor которая в зависимости от type возвращает подходящий

4) пишется код который из описания формы вытаскивает нужные поля, получает для них редакторы, сохраняет это в некую карту, а при вызове save пробегает по оного и дергает getType getValue и передает в код из п.1


Текущее время: 23:14. Часовой пояс GMT +3.