IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

Comment effacer une fenêtre DOS ?


Sujet :

API standards et tierces Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 328
    Points : 85
    Points
    85
    Par défaut Comment effacer une fenêtre DOS ?
    voilà j'ai un programme objet qui affiche un menu et j'aimerai bien que lorsque je reviens sur le menu d'aprés le programme efface tout ce qui etait avant ( menu+...), voilà le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public Menu()
       {
          int a;
          do
          {
            // Faire un CLEAR de la fenêtre
            System.out.println("Que voulez-vous faire :"); 
            .....
            System.out.println("7  Quiter");
            a = Lire.lireEntier();
            switch(a)
            ....
    merci d'avance
    Myogtha

  2. #2
    Membre actif
    Avatar de narkotik
    Inscrit en
    Mai 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 117
    Points : 229
    Points
    229
    Par défaut
    j'pense ke ca ca peut marcher

    try
    {
    Process proc = Runtime.getRuntime().exec("clear");
    } catch (IOException e) {

    }
    (+mitch): nan mais nanar j'préfère mourir contre un platane apres un accident de voiture plutot que d'une rupture d'anévrisme devant mon ecran d'pc

  3. #3
    Invité
    Invité(e)
    Par défaut
    tu penseras a faire un test de detection de l'environnement car je te rappelle que si Java est portable, la commande d'effacement de console ne l'est pas ('clear' pour Unix, 'cls' pour DOS)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 328
    Points : 85
    Points
    85
    Par défaut
    je dois faire ça ?
    M'en voulais pas si je dis des conneries je débute complétement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    public Menu()
       {
          int a;
          do
          {
            // Faire un CLEAR de la fenêtre
    	try 
    	{ 
    	Process proc = Runtime.getRuntime().exec("cls"); 
    	} 
    	catch (IOException e) 
    	{ 
    	}
            System.out.println("Que voulez-vous faire :"); 
            ......
            System.out.println("7  Quiter");
    par contre je sais pas pourquoi mais ma conscience me dit qu'il y a un truc qui va pas dans le try et le catch il doit falloir mettre quelque chose
    Merci du conseil je suis sous Xp donc se sera un cls.

  5. #5
    Membre actif
    Avatar de narkotik
    Inscrit en
    Mai 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 117
    Points : 229
    Points
    229
    Par défaut
    comment ca mon try//catch est pas bien !! lol
    il a dit une fenetre DOS, donc oué me suis trompé sur la commande DOS, c'est "cls", mauvaise habitude que j'ai de prog sous nunux
    (+mitch): nan mais nanar j'préfère mourir contre un platane apres un accident de voiture plutot que d'une rupture d'anévrisme devant mon ecran d'pc

  6. #6
    Invité
    Invité(e)
    Par défaut
    non c'est pas obligatoire de mettre quelque chose dans le catch, c'est juste qu'il ne t'affichera rien. si tu veux qu'il t'affiche un message d'erreur, tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    catch (IOException e) 
       {
          System.out.println("Erreur :"+e.getMessage());
          e.printStackTrace();
       }

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 328
    Points : 85
    Points
    85
    Par défaut
    Béh si j'aime bien ton catch narkotik
    par contre ça marchou pas, voilà le code complet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    class Menu
    {
       /* attributs */
       Map lesPieces = new Hashtable();
     
       public Menu()
       {
          int a;
          do
          {
            // Faire un CLEAR de la fenêtre
    	try 
    	{ 
    	Process proc = Runtime.getRuntime().exec("cls"); 
    	} 
    	catch (IOException e) 
    	{ 
    	}
            System.out.println("Que voulez-vous faire :"); 
            System.out.println("1  Ajouter une piece elementaire");
            System.out.println("2  Creer une piece composite");
            System.out.println("3  Voir les informations d'une piece");
            System.out.println("4  Voir toutes les pieces");
            System.out.println("5  Supprimer une piece");
            System.out.println("6  Vider completement la map");
     	System.out.println("7  Quiter");
            a = Lire.lireEntier();
            switch(a)
            {
          	  case 1: this.elemPiece();break;
          	  case 2: this.compPiece();break;
          	  case 3: this.voirInfo();break;
    	  case 4: this.allInfo();break;
    	  case 5: this.suppPiece();break;
    	  case 6: this.videTable();break;
            } /* fin switch */
          }while(a!=7);  
       } /* fin constructeur de Menu */
    j'ai bien rajouté la class io et importé mais ça change pas rien se clear !!!

  8. #8
    Membre émérite
    Avatar de Ioan
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 737
    Points : 2 999
    Points
    2 999
    Par défaut
    Bonjour,
    Il n'est pas possible de faire ce que tu veux en "pur java". Pour note, Runtime permet juste de lancer des "programmes" et pas d'interpréter de façon satisfaisante des "commandes" système.
    Pour faire ce que tu veux, tu seras obligé de passer par JNI et un appel aux API natives.
    Bon courage.
    @+
    Les FAQs Java, J2EE, JDBC, Struts > Les cours > Le Forum Java.
    Merci de respecter les règles du club.
    Mon blog : quelques news sur Java, Linux et le monde de l'Open Source.

  9. #9
    Membre actif
    Avatar de narkotik
    Inscrit en
    Mai 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 117
    Points : 229
    Points
    229
    Par défaut
    j'viens de lire une reponse d'un employé de Sun:
    soit tu passes par le JNI
    soit tu peux te brosser
    raison: la console est détaché de l'application et la commande "cls" n'est pas un programme a proprement dit
    il dit que le seul moyen c'est de faire du force brute sinon, c'est à dire:
    for (int a=0; a<=60; a++)
    {
    System.out.println();
    }


    good luck
    (+mitch): nan mais nanar j'préfère mourir contre un platane apres un accident de voiture plutot que d'une rupture d'anévrisme devant mon ecran d'pc

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 328
    Points : 85
    Points
    85
    Par défaut
    c'est clair c pas le top en force brute mais tanpis ça fera l'affaire
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment effacer une ligne dans un GtktextBuffer
    Par coax81 dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 25/06/2007, 16h01
  2. Comment effacer une période de + de 3 mois ?
    Par Charlie de Bolton dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 22/03/2007, 09h22
  3. Comment ouvrir une fénêtre de commande DOS
    Par izeba dans le forum Windows XP
    Réponses: 4
    Dernier message: 24/09/2006, 01h43
  4. Comment effacer une photo dans un répertoire
    Par le69 dans le forum Langage
    Réponses: 2
    Dernier message: 21/04/2006, 08h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo