J'ai écrit le Texte-IO qui permet de résoudre le problème de la nullité de System.console() lors de l'exécution d'une application à partir d'un IDE.
Elle introduit une couche d'abstraction similaire à celle proposée par McDowell . Si System.console() renvoie null, la bibliothèque passe à une console basée sur Swing.
En outre, Text-IO dispose d'une série de fonctionnalités utiles :
- prend en charge la lecture de valeurs avec différents types de données.
- permet de masquer l'entrée lors de la lecture de données sensibles.
- permet de sélectionner une valeur dans une liste.
- permet de spécifier des contraintes sur les valeurs d'entrée (modèles de format, plages de valeurs, contraintes de longueur, etc.)
Exemple d'utilisation :
TextIO textIO = TextIoFactory.getTextIO();
String user = textIO.newStringInputReader()
.withDefaultValue("admin")
.read("Username");
String password = textIO.newStringInputReader()
.withMinLength(6)
.withInputMasking(true)
.read("Password");
int age = textIO.newIntInputReader()
.withMinVal(13)
.read("Age");
Month month = textIO.newEnumInputReader(Month.class)
.read("What month were you born in?");
textIO.getTextTerminal().println("User " + user + " is " + age + " years old, " +
"was born in " + month + " and has the password " + password + ".");
En cette image vous pouvez voir le code ci-dessus s'exécuter dans une console basée sur Swing.
1 votes
Est-ce que c'est pour Android ? (je devine d'après votre nom d'utilisateur)
0 votes
Utilisez-vous eclipse pour démarrer votre programme ? Essayez de lancer votre programme sans eclipse en utilisant java.exe.
5 votes
Jetez un coup d'œil au projet de McDowell "AbstractingTheJavaConsole" : illegalargumentexception.googlecode.com/svn/trunk/code/java/
8 votes
@RyanFernandes En quoi son nom est-il pertinent pour sa question ?