![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Den1s |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 27.10.2005 Репутация: нет Всего: нет |
Мне надо получить данные пользователь и пароль, в main(String[] args) делаю следующее
но соответственно пароль пользователя не скрывается звездочками, а как сделать чтобы скрывался? использую пятую яву. |
|||
|
||||
| _Michael |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 23.6.2007 Где: з полонини Репутация: 2 Всего: 6 |
Знаю в сишке такое есть. там можно с консоли читать с ехом или без. Т-е с ехом когда на консоли пишется то что вводится с клавиатуры, и без еха когда ничего не пишется. А на джаве возможно ли. Не знаю. не используя JNI конечно.
-------------------- ...не убивайся ни о чем - все временно, хоть ночь темна но светлым днем беременна... Саади |
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
Den1s
Посмотри JLine, кажется, там есть такая функциональность. А для java 6 вот такой пример нашел (не проверял):
Добавлено через 11 минут и 57 секунд Пример скрытия пароля в консоли от sun (1.6 only) Добавлено через 12 минут и 18 секунд Console API |
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
Для java младше шестой есть еще масса примеров (написанными разными людьми) с одной и той же идеей (как по мне -- довольно диковатой): запускать отдельный поток, который с коротким интервалом пишет в консоль backspace, таким образом визуально затирая все, что вводит пользователь.
Это сообщение отредактировал(а) Maksym - 20.9.2007, 16:17 |
|||
|
||||
| Den1s |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 27.10.2005 Репутация: нет Всего: нет |
Maksym, к сожалению и я это писал в первом посте я использую пятую яву, про класс Console в шестой яве я читал но увы нельзя(( Что касается примеров по гуглу то реализация с потоками и созданием специального класса мне самому не нравится, я просто надеялся что за все эти годы может кто то сталкивался и придумал более красивое решение.
|
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
Den1s
Ну вот в описании JLine: "Line is a java library for reading and editing user input in console applications. It features tab-completion, command history, password masking, customizable keybindings, and pass-through handlers to use to chain to other console applications." Надо смотреть, что они под этим понимают и как делают. Добавлено через 2 минуты и 6 секунд проморгал, чесно говоря.. значит будем думать исходя из этого ограничения |
|||
|
||||
| Den1s |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 27.10.2005 Репутация: нет Всего: нет |
вообщем не найдя ничего лучшего использовал пример с явы http://java.sun.com/developer/technicalArt...mask/index.html
работает и хорошо P.S. стороннюю библиотеку JLine использовать не стал по религиозным соображениям Это сообщение отредактировал(а) Den1s - 20.9.2007, 17:34 |
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
||||
|
||||
| Den1s |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 27.10.2005 Репутация: нет Всего: нет |
в смысле pure java решения лучше тем то что я выбрал? |
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
угу
|
|||
|
||||
| Den1s |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 27.10.2005 Репутация: нет Всего: нет |
а можно примерчик в виде кода как это реализовать с чистой явой? я что то в реализации JLine не могу разобраться |
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: 14 Всего: 62 |
||||
|
||||
| Den1s |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 27.10.2005 Репутация: нет Всего: нет |
Только что заметил багу в коде с ява сана для затемнения паролей. Использую следующий пример
PasswordApp.java
PasswordField.java
MaskingThread.java
Дело в том что поток который заменяет введенные символы на звездочки стартует раньше чем начинают вводиться символы и как следствие он затемняет то что было введено до пароля, в данном случае из 'Enter your password: ' получаем на выходе 'Enter your password:*' Что то я не могу разобраться как убрать эту лишнюю звездочку, помогите пожалуйста |
||||||
|
|||||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |