JAVA et TEXT : help !!!

JAVA et TEXT : help !!! - Java - Programmation

Marsh Posté le 19-12-2006 à 15:16:19    

Bonjour,
 
J'aimerai créer une fenêtre graphique avec un nombre de boutons qui dépend du contenu d'un fichier text.
J'ai une appli java qui prend en entrée ces commandes :

<!DOCTYPE EQUIPMENT SYSTEM "equipment.dtd">
<EQUIPMENT>  
 
<!-- HOSTNAMES -->
<COMMAND label="echo SET NEWPAGE 0 > host.sql" logfile="trash.txt" expect="linus>"></COMMAND>
<COMMAND label="echo SET HEADING off >> host.sql" logfile="trash.txt" expect="linus>"></COMMAND>
<COMMAND label="echo SET FEEDBACK off >> host.sql" logfile="trash.txt" expect="linus>"></COMMAND>
<COMMAND label="echo SET SPACE 0 >> host.sql" logfile="trash.txt" expect="linus>"></COMMAND>
<COMMAND label="echo SET PAGESIZE 0 >> host.sql" logfile="trash.txt" expect="linus>"></COMMAND>
<COMMAND label="echo SET ECHO off >> host.sql" logfile="trash.txt" expect="linus>"></COMMAND>
<COMMAND label="echo SPOOL hostname >> host.sql" logfile="trash.txt" expect="linus>"></COMMAND>
<COMMAND label="echo column hostname format A7 >> host.sql" logfile="trash.txt" expect="linus>"></COMMAND>  
<COMMAND label="echo SELECT hostname,ascii\(state\) FROM host WHERE hostname IS NOT NULL\; >> host.sql" logfile="trash.txt" expect="linus>"></COMMAND>
<COMMAND label="echo SPOOL off >> host.sql" logfile="trash.txt" expect="linus>"></COMMAND>
<COMMAND label="echo exit >> host.sql" logfile="trash.txt" expect="linus>"></COMMAND>
<COMMAND label="ORACLE_SID=SMP;export ORACLE_SID;sqlplus pfmconfig/pfmconfig@PSMF.world @host" logfile="trash.txt" expect="linus>"></COMMAND>  
<COMMAND label="sort hostname.lst > /tmp/hostname.lst;mv /tmp/hostname.lst hostname.lst" logfile="trash.txt" expect="linus>"></COMMAND>
<COMMAND label="cat hostname.lst" logfile="hostname.txt" expect="linus>"></COMMAND>
<COMMAND label="rm host.sql" logfile="trash.txt" expect="linus>"></COMMAND>
 
</EQUIPMENT>

 
et voila ce que j'ai en sortie : un fichier "hostname.txt" de la forme :
 

vzb031                                                            
vzb032                                                              
vzf031                                                              
vzf032                                                              
vzs241                                                              
vzs242

 
J'aimerais pouvoir ouvrir une fenêtre dans laquelle il y a des boutons correspondant aux lignes de mon fichier texte de sortie... Quelqu'un peu m'aider ???
 
Merci d'avance

Reply

Marsh Posté le 19-12-2006 à 15:16:19   

Reply

Marsh Posté le 19-12-2006 à 15:29:16    

babap1 a écrit :


et voila ce que j'ai en sortie : un fichier "hostname.txt" de la forme :
 

vzb031                                                            
vzb032                                                              
vzf031                                                              
vzf032                                                              
vzs241                                                              
vzs242



 
Pour obtenir cette liste, il a bien fallu que tu la "construises", peut-être même que tu l'as stocké dans conteneur Vector ou ArrayList ...
Donc à chaque fois qu'il y a un hostname à ajouter à la liste, tu crées également un bouton que tu ajoutes dans ta fenêtre graphique.
 
Si tu veux vraiment le faire une fois la liste créée, tu parcours ton conteneur pour créer un bouton à chaque entrée.

Reply

Marsh Posté le 19-12-2006 à 15:48:56    

moustik510 a écrit :

Si tu veux vraiment le faire une fois la liste créée, tu parcours ton conteneur pour créer un bouton à chaque entrée.


 
Je bosse chez Alcatel, enfin Alcatel-Lucent et j'utilise une appli Java, qui exite déja, et qui se connecte à des platformes pour en réccupérer plein d'information. Le principe étant qu'on demande à l'appli d'excécuter un tas de commandes qui sont répertoriées dans un fichier XML et celui-ci nous nous donne les résultats des commandes passées sur les platformes dans des fichiers TXT. Soit : JAVA <= XML => TXT
Il faut que je donne un rendu graphique des résultats, je pense donc qu'il faut que j'analyse ses fichiers TXT, non?
 
Je suis un nul en Java je sais, mais j'ai 3 ans pour faire mon appli alors il va bien falloir que je m'y mette...  :)  
 
Ce qu'il faut c'est que j'arrive a créer le bon nombre de boutons a partir de la première analyse (fichier TXT) et qu'en cliquant sur les boutons, j'arrive à lancer d'autres analyses... et pour arriver a faire ca je suis un peu perdu...
 

Reply

Marsh Posté le 21-12-2006 à 10:45:08    

Citation :

Il faut que je donne un rendu graphique des résultats, je pense donc qu'il faut que j'analyse ses fichiers TXT, non?


Déjà, tu peux utiliser un java.io.BufferedReader pour lire ton fichier.

Reply

Marsh Posté le 21-12-2006 à 10:56:58    

Merci, je vais regarder ce que je peux faire avec java.io.BufferedReader. Pour l'instant voila ce que j'ai :
 

Code :
  1. class Body extends JPanel {
  2. private Frame mainFrame = null;
  3. private JButton hostnameButton;
  4. String myFile = "hostname.txt";
  5. String fichierContenu= "";
  6. JTextArea textField = new JTextArea();
  7. public Body(Frame mainFrame) {
  8.  setLayout(new BorderLayout());
  9.  hostnameButton = new JButton("HOSTNAME" );
  10.  add(hostnameButton, BorderLayout.SOUTH);
  11.   textField.setLineWrap(true);
  12.   textField.setWrapStyleWord(true);
  13.   add(textField);
  14.   this.mainFrame = mainFrame;
  15.   MyListener monEcouteur = new MyListener();
  16.   hostnameButton.addActionListener(monEcouteur);
  17.   }
  18. public void ReadFile()
  19.   {
  20.   try
  21.     {
  22.     RandomAccessFile raf = new RandomAccessFile(myFile, "r" );
  23.     String line;
  24.     while ( (line = raf.readLine()) != null )
  25.       {
  26.       fichierContenu += line;
  27.       }
  28.     textField.setText(fichierContenu);
  29.     }
  30. catch (IOException e)
  31.    {
  32.    System.out.println("erreur dans: " + e);
  33.    }
  34.   }
  35. class MyListener implements ActionListener
  36.   {
  37.   public void actionPerformed(ActionEvent event)
  38.     {
  39.     ReadFile();
  40.     }
  41.   }
  42. }


 
et j'obtiens une belle cahine de caractère dans une fenêtre :
 
vzb031vzb032vzf031vzf032vzs241vzs242
 
le problème est que je ne suis pas vraiment libre de faire ce que je veux avec le texte et j'aimerais obtenir un bouton pour chaque vzxxxx, qui me permettrai de lancer d'autres commandes sur ma platforme.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed