Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Окно ввода логина и пароля / 19 сообщений из 19, страница 1 из 1
21.02.2012, 09:53:23
    #37671720
ssppeedd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ввода логина и пароля
Добрый день, Уважаемые

Подскажите как правильно решить следующую задачу:
Есть JFrame в нем живут разные окна, которые позволяют работать с некой БД.
Работа с БД ведется через глобальный статический объект Connection, хранящий ссылку на сессию через которую ведется получение и передача данных
Сессия периодически может отваливаться по таймауту.
Есть окно в котором пользователь должен вводить логин и пароль в случае если подключение отвалилось или при первом подключении (инициализация/восстановление сессии)

Вопрос: Наследованием какого стандартного класса сделать окно с вводом учетных данных для инициализации/восстановления подключения к БД.
И как правильно организовать его модальный вызов с возвратом имени и пароля в статически класс Connection?

Опыта програмирования на Swing не много, да и давно это было, прошу поправить если, что не так задумал.
...
Рейтинг: 0 / 0
21.02.2012, 10:22:40
    #37671781
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ввода логина и пароля
ssppeedd,
лечение перхоти гильотиной.
- не делай так, чтобы сессия отваливалась при работоспособной сети.
У тебя ведь не веб?
...
Рейтинг: 0 / 0
21.02.2012, 12:55:27
    #37672127
ssppeedd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ввода логина и пароля
Petro123,

Не web - Lotus Domino, очень похож на web :)
Сессия может отвалиться и не только на нем, например если другаю любая БД хз где и нестабильный канал.
Да и вопрос можно считать теоретическим, как организовать вызов вот такого окна при потере связи (в Domino валидность можно проверить, так что и переининциализироваться можно)
...
Рейтинг: 0 / 0
21.02.2012, 13:15:42
    #37672192
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ввода логина и пароля
Соединение получаеть через обертку - ваш глобальный объект.
При получении соединения, проверять его простейшим запросом. Если запрос не прошел, то пересоздавать соединение.
...
Рейтинг: 0 / 0
21.02.2012, 13:22:05
    #37672214
1024
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ввода логина и пароля
ssppeeddPetro123,

Не web - Lotus Domino, очень похож на web :)
Сессия может отвалиться и не только на нем, например если другаю любая БД хз где и нестабильный канал.
Да и вопрос можно считать теоретическим, как организовать вызов вот такого окна при потере связи (в Domino валидность можно проверить, так что и переининциализироваться можно)

так ты с .nsf через ODBC работаешь штоль? Смысла нет, в домино ж можно подключаться напрямую и аутентификацией он сам занимается. Если это не доминошная а нормальная база то просто храни то что юзер навводил.
...
Рейтинг: 0 / 0
21.02.2012, 13:32:02
    #37672254
ssppeedd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ввода логина и пароля
Работаю с Session, напрямую с базой (не через ODBC)
Согласен, что можно в переменной сохранить все что ввел пользователь.

Но повторюсь же, вопрос имеет теоретический характер каким методом вызвать MDI окно и вернуть из него данные.
Просто интересно как это сделать правильно.
...
Рейтинг: 0 / 0
21.02.2012, 13:35:57
    #37672265
1024
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ввода логина и пароля
ssppeeddРаботаю с Session, напрямую с базой (не через ODBC)
Согласен, что можно в переменной сохранить все что ввел пользователь.

Но повторюсь же, вопрос имеет теоретический характер каким методом вызвать MDI окно и вернуть из него данные.
Просто интересно как это сделать правильно.

это не имеет отношения к свингу. Про сессии можно посмотреть в доминошной документации, у него ж собственные библиотеки для этого, в нормальной жабе их нет. Ничего плохого в хранении логина/пароля нет.
...
Рейтинг: 0 / 0
21.02.2012, 13:48:15
    #37672302
ssppeedd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ввода логина и пароля
1024,

К чему меня посылать читать мануал по лотусу?
я почитал документацию по Notes Java API.
Суть не в этом. Уберем лотус.

Упрощу формулировку:
Есть состояние в модели, если при очередной ее проверке оказывается что ее состояние изменилось нужно вызвать MDI окно поверх всех, ожидать ответа пользователя и при его закрытии передать назад данные в модель.
...
Рейтинг: 0 / 0
21.02.2012, 13:59:28
    #37672335
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ввода логина и пароля
ssppeeddЕсть состояние в модели, если при очередной ее проверке оказывается что ее состояние изменилось нужно вызвать MDI окно поверх всех, ожидать ответа пользователя и при его закрытии передать назад данные в модель.
И в чем именно проблема?
http://docs.oracle.com/javase/tutorial/uiswing/components/internalframe.html
http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html
и т.д.
...
Рейтинг: 0 / 0
21.02.2012, 14:48:11
    #37672504
Garrick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ввода логина и пароля
ssppeeddРаботаю с Session, напрямую с базой (не через ODBC)
Согласен, что можно в переменной сохранить все что ввел пользователь.

Но повторюсь же, вопрос имеет теоретический характер каким методом вызвать MDI окно и вернуть из него данные.
Просто интересно как это сделать правильно.
1. Если необходимо получить от пользователя пароль, то Lotus Notes сам показывает своё окошко для ввода пароля - вашего кода тут не требуется.
2. При соответствующих настройках клиента и при нём же запущенном, Lotus Notes вообще пароля не спрашивает.
3. Если доступ в Lotus Notes осуществялется не по HTTP, он имени пользователя не спрашивает. Как же вы всё таки к нему подключаетесь из ваших разноречивых постов не понятно.
...
Рейтинг: 0 / 0
21.02.2012, 15:11:20
    #37672587
ssppeedd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ввода логина и пароля
Garrick1. Если необходимо получить от пользователя пароль, то Lotus Notes сам показывает своё окошко для ввода пароля - вашего кода тут не требуется.
2. При соответствующих настройках клиента и при нём же запущенном, Lotus Notes вообще пароля не спрашивает.
3. Если доступ в Lotus Notes осуществялется не по HTTP, он имени пользователя не спрашивает. Как же вы всё таки к нему подключаетесь из ваших разноречивых постов не понятно.

Откуда это окно нотеса вылезет? нотеса на конечном компе не будет :) DIIOP

BlazkowiczИ в чем именно проблема?
http://docs.oracle.com/javase/tutorial/uiswing/components/internalframe.html
http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html
и т.д.

Это я уже сделал. JFrame с меню из которого выбзывается JInternalFrame, с размещением компонентов тоже все понятно

Вопрос как создать модальное окно, которое можно будет вызывать для ввода имени и пароля (если галочки пользователь не поставит или при превом открытии) и полчить ввденные данные из него при закрытии
...
Рейтинг: 0 / 0
21.02.2012, 15:19:46
    #37672607
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ввода логина и пароля
ssppeeddВопрос как создать модальное окно
JDialog с параметро modal=true и обязательной ссылкой на родительский Frame для модальности.
...
Рейтинг: 0 / 0
21.02.2012, 15:20:40
    #37672612
1024
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ввода логина и пароля
если на конечном компе нет нотеса а доступ через браузер то там нет и жфраме. Сделай в базе документ с паролем/логином и показывай его для ввода пользователю.
...
Рейтинг: 0 / 0
21.02.2012, 15:32:22
    #37672649
Garrick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ввода логина и пароля
ssppeeddОткуда это окно нотеса вылезет? нотеса на конечном компе не будет :) DIIOP

Ну, вы же сразу всех серкретов не выдаёте, только после выкручивания рук

P.S. Мне кажется вы вбрали самый неудачный вариант взаимодействия с Lotus Notes.
...
Рейтинг: 0 / 0
21.02.2012, 15:34:37
    #37672655
Garrick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ввода логина и пароля
[quot Garrick]ssppeeddОткуда это окно нотеса вылезет? нотеса на конечном компе не будет :) DIIOP


Вот же блин как промахнулся! Должно было быть так:

GarrickP.S. Мне кажется вы вбрали НЕ самый неудачный вариант взаимодействия с Lotus Notes.
...
Рейтинг: 0 / 0
23.02.2012, 12:36:43
    #37675431
ssppeedd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ввода логина и пароля
BlazkowiczssppeeddВопрос как создать модальное окно
JDialog с параметро modal=true и обязательной ссылкой на родительский Frame для модальности.

Это конечно решение, но JDialog невозможно добавить в JDesktopPane
...
Рейтинг: 0 / 0
23.02.2012, 12:39:03
    #37675433
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ввода логина и пароля
ssppeeddЭто конечно решение, но JDialog невозможно добавить в JDesktopPane
А зачем вам модальность в MDI? Пусть весь фрейм блокирует.
...
Рейтинг: 0 / 0
23.02.2012, 12:47:08
    #37675443
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ввода логина и пароля
Если прям очень надо, то вот:
http://java-swing-tips.blogspot.com/2008/10/modal-internal-frame.html
glasspane-ом закрывают всё лишнее и готово!
...
Рейтинг: 0 / 0
23.02.2012, 13:17:15
    #37675472
ssppeedd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ввода логина и пароля
BlazkowiczЕсли прям очень надо, то вот:
http://java-swing-tips.blogspot.com/2008/10/modal-internal-frame.html
glasspane-ом закрывают всё лишнее и готово!
Красивое решение, но JDesktop попроще будет, буду им пользоваться, спасибо за подсказки
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Окно ввода логина и пароля / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]