![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| alexsal |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 17.8.2007 Где: Украина г. Артемо вск Репутация: нет Всего: нет |
Привет всем. Помогите пожалуйста решить проблему:
при авторизации в программе, нужно что бы загружался тот или иной JFrame для пользователя Допустим есть две формы и два пользователя. При автоизации пользователя №1 открывалась форма №1 а для пользователя №2 - форма №2 и надо что бы все это хранилось в базе Ну логин и пароль хранить - это ясно, а как с формой быть? Как мне сделать так что бы открывалась нужная форма? Заранее спасибо. |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
||||
|
||||
| alexsal |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 17.8.2007 Где: Украина г. Артемо вск Репутация: нет Всего: нет |
Как и что в базе записать что бы для пользователя открыло нужное окно. И как потом вытянуть эту информацию из базы для открытия этого окна. |
|||
|
||||
| Kangaroo |
|
|||
|
AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: 15 Всего: 104 |
alexsal,
имхо хранить вместе с логином и паролем какую-нибудь метку, например "form1". А потом создавать форму по условию - какая метка, такая и форма. но это слишком просто выглядит )) может я не понял чего-то? Это сообщение отредактировал(а) Kangaroo - 13.11.2007, 22:36 -------------------- Lost.... |
|||
|
||||
| alexsal |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 17.8.2007 Где: Украина г. Артемо вск Репутация: нет Всего: нет |
да
|
|||
|
||||
| hamsterKSU |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 401 Регистрация: 20.10.2006 Где: Украина, Херсон Репутация: нет Всего: 11 |
ну лучше уже не менку так как в проге потом надо будет проверять эту метку что никакого выигрыша не дает. в таком случае можно просто проверяь права этого юзера, они надеюсь определены в БД. но даже если и хранить метку в БД то лучше уже наверное название класса(вернее его полное имя) что бы потом ничего не проверять, а создать сразу инстанс |
|||
|
||||
| ecologist |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 452 Регистрация: 28.2.2007 Репутация: нет Всего: 9 |
Может сделать в базе таблицу с именами форм и с под-таблицей, где прописаны пользователи, которые "допущены" к данной форме.
Форма в конструкторе проверяет, допущен ли к ней пользователь и открывается - илине открывается. Еще вариант может быть - формировать меню динамически из таблицы (когда-то такое делал на Delphi, до сих пор работает как минимум в двух компаниях) и в таблице с меню прописывается допуск к данному пункту меню. Соответственно при построении меню остаются только те пункты, которые разрешены пользователю. Ну или еще вариант - имя класса формировать "на лету" и загружать нужный класс. Думаю, что конструктор без параметров вполне реально. Т.к. они все скорее всего наследуются от одного класса - вызывать показ формы. Ну вобщем что-то вроде паттерна Abstract Factory. |
|||
|
||||
| Kangaroo |
|
||||
|
AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: 15 Всего: 104 |
В принципе, я это и имел ввиду. Метка, которая определяет права пользователя.
Я бы не хранил название класса. Рефакторинг никто не отменял и есть возможность получить класснотфаунд случайно. Да, он сюда просится -------------------- Lost.... |
||||
|
|||||
| alexsal |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 17.8.2007 Где: Украина г. Артемо вск Репутация: нет Всего: нет |
Таблица в которой права пользователя хранятся у меня есть, я как раз не знаю как мне хранить ссылку на класс и потом обрабатывать ее.
Вот это у меня как раз и вызывает вопрос. Как это в виде кода выглядит? |
|||
|
||||
| hamsterKSU |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 401 Регистрация: 20.10.2006 Где: Украина, Херсон Репутация: нет Всего: 11 |
блин, например забиваешь хешьмап
а потом
form1 и form2 - Метки, которая определяет права пользователя Это сообщение отредактировал(а) hamsterKSU - 14.11.2007, 13:37 |
||||
|
|||||
| alexsal |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 17.8.2007 Где: Украина г. Артемо вск Репутация: нет Всего: нет |
Спасибо всем за помощь, решение нашел. Регистрирую класс по его названию, название класса хранится в базе
Создаю форму JInteranlFrame и открываю в главной форме (MDI).
Добавлено через 2 минуты и 31 секунду |
|||
|
||||
| Vurn |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 24.5.2007 Репутация: нет Всего: 3 |
Посмотрите на технологию JavaBeans. Она была создана для возможности сохранения/восстановления/передачи по сети диалогов AWT/Swing. Я особо сильно с ней не разбирался, если честно, но возможности понравились. Фактически, диалог сериализуется и может быть сохранен в базе данных. А потом быстро восстановлен.
p.s. вызов метода setVisible(true) на компоненте через invocation - ИМХО, не есть гуд. Я бы вызывал на jframe. |
|||
|
||||
| alexsal |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 17.8.2007 Где: Украина г. Артемо вск Репутация: нет Всего: нет |
не совсем понял, подробней если можно. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |