20

Je travaille actuellement sur un petit programme utilitaire qui nécessite seulement une interface de ligne de commande, et j'ai commencé à me demander si Java offrait un moyen standard de créer la CLI, de la même manière que Swing et les GUI. Je ne suis pas vraiment intéressé par les paramètres de ligne de commande et l'analyse de ceux-ci, mais plutôt l'interaction basée sur la commande que l'utilisateur a avec le programme pour l'utiliser. C'est pour les situations où GUI est simplement inutile ou pas une option pour utiliser le programme. Googling le sujet à peu près seulement des résultats dans des tutoriels sur la façon d'utiliser BufferedReader et les aime faire une interaction rudimentaire avec l'utilisateur, visant à apprendre les bases de Java et écrire une interface simple qui demande nom et imprime "Hello World ! "Java CLI UI-design: frameworks ou bibliothèques?

Les bibliothèques qui se concentrent sur fournir un bon cadre pour l'implémentation rapide d'une interface utilisateur CLI plus complexe ou est-ce vraiment quelque chose que tout le monde implémente de manière ad hoc pour leurs propres utilitaires?

Peut-être que quelqu'un connaît les modèles de l'implémentation qui ont été créés dans le passé alors que tout n'était pas graphique? Ce serait également une ressource utile.

+0

Apache Commons CLI (http://commons.apache.org/cli/) ne vous aiderait pas? – sateesh

+3

Non, Apache Commons CLI est vraiment fait pour analyser les arguments de la ligne de commande et ne contribue pas vraiment à la conception ou la mise en œuvre de l'interface utilisateur autrement. – Fuu

Répondre

6

Peut-être CLI Toolkit ...

http://alexis.royer.free.fr/CLI/

+0

Cela ressemble à une belle approche, certainement le plus pertinent jusqu'à présent. – Fuu

+0

Malheureusement, il nécessite cgywin sur Windows. –

3

Il y a un projet appelé JLine qui offre un soutien multiplateforme pour le traitement d'entrée générale de ligne de commande:

http://jline.sourceforge.net/

Plus d'une bibliothèque de soutien à un cadre bien.

+0

En effet, il n'y a pas de véritable framework pour l'intégration de CLI dans Java, et jline est la bibliothèque la plus importante pour un tel travail. Je pense qu'il est utilisé, par exemple, pour l'interpréteur groovy en mode ligne de commande. – Riduidel

+0

En regardant JLine, cela aiderait surtout en fournissant l'auto-complétion pour les commandes tapées. Utile, mais ne répond pas vraiment aux critères. – Fuu

1

Essayez MALÉDICTIONS et java, quelque chose comme http://www.google.co.uk/search?q=curses+for+java. Il y a longtemps CHARVA (http://www.pitman.co.za/projects/charva/index.html) avait l'air bien.

+2

Liens intéressants, ceux-ci prennent l'approche du portage fondamentalement Swing/AWT GUI dans le terminal basé sur le texte. Le problème est que cela ne réduit pas l'effort de développement qui est l'objectif de l'interface utilisateur rapide CLI, puisque vous pourriez aussi bien le faire dans Swing et avoir une interface graphique.:) – Fuu

6

Vous pouvez également consulter et Clamshell-cli ou coquille de printemps:

  • Clamshell-cli est relativement simple et facile à utiliser: Vous peut regarder jmx-cli pour obtenir un bon exemple de ce qui peut être fait avec.

  • Spring Shell est plus grand mais plus complet (fin d'onglet, etc.). Il a été extrait du Roo du printemps et publié en tant que framework indépendant

Questions connexes