Marge d'un texte au Standard Output

cs_diak Messages postés 11 Date d'inscription lundi 2 août 2004 Statut Membre Dernière intervention 4 avril 2008 - 4 avril 2008 à 15:38
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 - 5 avril 2008 à 11:39
Slt

J'ai un programme (dont je veux execute sous dos sans utilise d'utilitaire java) qui demande deux valeurs a l'utilisateur (left and right margin). Alors, comment peut-on definir les marges de gauche et droite d'un texte a son affichage sur le standard output?.

Thks d'avance!!!

4 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
4 avril 2008 à 16:17
Salut:

Si je ne me trompe pas tu veux utiliser une variante de la fonction gotoxy.

http://www.javafr.com/codes/ECRIRE-COULEURS-SUR-CONSOLE-JNI_39674.aspx
0
cs_diak Messages postés 11 Date d'inscription lundi 2 août 2004 Statut Membre Dernière intervention 4 avril 2008
4 avril 2008 à 21:00
Merci Ombitious_Developper!

C'est bien une variante de gotoxy que je veux. Mais le pb est que mon programme genere des erreurs quand j'import le package: static org.cs.consoleutilities.ConsoleUtilities.out. J'ai aussi essaye de trouver la meme characteristique dans System.out, c negatif.
Sachant que mon output est une string sur plusieurs lignes, comment vais faire retenir a mon prog de s'arreter a ma marge de droite et revenir a la ligne suivant et recommencer a ma marge gauche ???

Desole, peut etre que ma question est stupid, mais chui just un peut perdue maintenant avec c prog!
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
5 avril 2008 à 11:33
Salut:

Il vaut mieux contacter l'auteur de cette source si tu as un problème.

Avec la console, on ne peut pas faire des grandes choses, pour faire une marge, il ne faut pas afficher toutes les données d'un seul coup. Il faut prendre en compte le nombre de caractères susceptibles d'être affichées sur la console et la taille des données.

C'est une question de calcul.
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
5 avril 2008 à 11:39
Salut:

Si tu veux afficher un paragraphe, tu peux créer une méthode qui découpe la paragraphe en petites phrases (tokens) qui s'adaptent à l'affichage sur console.

public class ConsoleOutputManager {
    // Si je ne me trompe pas, la console peut afficher 81 caractères tout au long
    // de la largeur de la console (A Vérifier)
    private static final int MAX_CHAR = 81;

    private String[] tokenize(String paragraph) {
       // Découper la paragraphe en fonction du nombre maximal des caractères qu'on peut
       // afficher s ur console (MAX_CHAR), la taille des données et la marge à faire.
    }

    public void print(String paragraph) {
       String[] tokens = tokenize(paragraph);
       for (int i = 0; i < tokens.length; ++i)
          System.out.println(tokens[i]);
    }
}
0