[JAVA] Text input niet weergeven of masken

Pagina: 1
Acties:
  • 120 views sinds 30-01-2008
  • Reageer

  • Ritch
  • Registratie: December 1999
  • Laatst online: 28-08 17:03
Ik ben bezig met een prog dat een database dumpt in xml en aan het begin heb ik dus een paar vragen aan de gebruiker, welke host/user/pass enzo. Gaat allemaal heel leuk met een InputStreamReader en een BufferedReader, maar nou wil ik niet dat het password ook afgedrukt wordt als het getypt wordt, of elk teken als * ofzo.
Heb op dit moment hetvolgende:
code:
1
2
3
4
5
6
7
8
9
10
11
        try
        {
            InputStreamReader isr = new InputStreamReader(System.in);
            BufferedReader br = new BufferedReader(isr);
            pass = br.readLine().trim();
        }
        catch (Exception e)
        {
            System.out.println("** error getting pass **");
            System.exit(1);
        }

Maar dan zie je dus leuk wat er ingetypt wordt, en dat is niet de bedoeling natuurlijk met een pass ;). Hoe kan ik zorgen dat deze niet afgedrukt wordt (host en user enzo nog wel)?

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Hier is laatst ook een topic over geweest en toen bleek dat hetniet mogelijk was, jammer maar helaas dus

  • ajslaghu
  • Registratie: Oktober 2000
  • Laatst online: 23-08 12:20
text bij system.in wordt pas doorgegeven aan de applicatie (vanuit de ""OS"" (in dit geval JRE) als er op enter gedrukt wordt.

Om dit beter te regelen zal je een grafische applicatie moeten maken.

Dan kan je bv. met SWING veldjes (dus pwd fields) neerzetten.
Goodluck!

Als je het absurde aanneemt, kan je het tegenover gestelde bewijzen ??


  • Ritch
  • Registratie: December 1999
  • Laatst online: 28-08 17:03
ja er komen 2 interfacejes, 1 swing en 1 text, zodat die ook op een linux server enzo gebruikt kan worden. Jammer dan, geen gemaskt password vel :).

Verwijderd

Als je een AWT component gebruikt als Textfield.. is er een optie.. je kunt hem natuurlijk masken...

Maar volgens mij was dat niet je bedoeling...

Wat je kunt doen is een KeyListener inbouwen wanneer het textfield is focussed, en dan elke toetsaanslag kopieren naar een string en onmiddelijk textfield.setText(""); doen., om niets in het textfield te zetten?

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Op dinsdag 13 november 2001 12:36 schreef Ztepjuh het volgende:
Als je een AWT component gebruikt als Textfield.. is er een optie.. je kunt hem natuurlijk masken...

Maar volgens mij was dat niet je bedoeling...

Wat je kunt doen is een KeyListener inbouwen wanneer het textfield is focussed, en dan elke toetsaanslag kopieren naar een string en onmiddelijk textfield.setText(""); doen., om niets in het textfield te zetten?
Het gaat over masken op de console..

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Op dinsdag 13 november 2001 12:36 schreef Ztepjuh het volgende:
Wat je kunt doen is een KeyListener inbouwen wanneer het textfield is focussed, en dan elke toetsaanslag kopieren naar een string en onmiddelijk textfield.setText(""); doen., om niets in het textfield te zetten?
Dan kan je beter gewoon setEchochar('*') gebruiken dan geeft hij gewoon alles weer in sterretjes maar dat werkt iedergeval alleen bij awt

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 16:30

Janoz

Moderator Devschuur®

!litemod

Mischien een beetje overkill, maar als je je progje als een demon achtig iets draait, en vervolgens de gebruiker laat connecten mbv telnet heb je veel meer controle over wat er op het scherm komt en wat niet.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Ritch
  • Registratie: December 1999
  • Laatst online: 28-08 17:03
Op dinsdag 13 november 2001 13:49 schreef Janoz het volgende:
Mischien een beetje overkill, maar als je je progje als een demon achtig iets draait, en vervolgens de gebruiker laat connecten mbv telnet heb je veel meer controle over wat er op het scherm komt en wat niet.
Jup, beetje overkill idd. Tis maar een school opdracht die dit niet eens als eis stelt ofzo, maar de opdracht zelf was binnen een dag al af terwijl er 40u voor staat, dus kan er nog wel wat extra's bij dacht ik zo :).
Pagina: 1