Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
903 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  HELP création de 'n' boutons

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

HELP création de 'n' boutons

n°1498293
babap1
Posté le 03-01-2007 à 15:39:14  profilanswer
 

Hey.
J'aimerai pouvoir créer 'n' boutons correspondant à chaque 'vzs0000' du fichier texte.  
Ce fichier est de la forme :
 
vzs241    0
vzs242    0
vzb031    0
vzb032    0
vzf031    0
vzf032    0
vzs241 linus>

 
Pour l'instant, voila le code que j'ai fait pour réccupérer les infos :
 

Code :
  1. package projet1;
  2. import java.awt.BorderLayout;
  3. import java.awt.Color;
  4. import java.awt.Container;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import java.io.IOException;
  8. import java.io.RandomAccessFile;
  9. import javax.swing.BorderFactory;
  10. import javax.swing.Box;
  11. import javax.swing.JButton;
  12. import javax.swing.JFrame;
  13. import javax.swing.JPanel;
  14. import javax.swing.JTextArea;
  15. import javax.swing.border.BevelBorder;
  16. import javax.swing.border.CompoundBorder;
  17. import javax.swing.border.EtchedBorder;
  18. import javax.swing.border.TitledBorder;
  19. public class Affichage extends JFrame {
  20. static JFrame mainFrame = new JFrame("Réccupération de données" );
  21. JTextArea textField = new JTextArea();
  22. String myFile = "hostname.txt";
  23. String fichierContenu= "";
  24. public Affichage() {
  25.  mainFrame.setSize(800, 600);
  26.  //centerPanel
  27.  Box left = Box.createVerticalBox();
  28.  JPanel leftPanel = new JPanel(new BorderLayout());
  29.  leftPanel.setBorder(new TitledBorder(
  30.         new EtchedBorder(),
  31.         "SNEC-IN" ));
  32.  leftPanel.setBackground(Color.YELLOW);
  33.  leftPanel.add(left, BorderLayout.CENTER);
  34.  textField.setBackground(Color.YELLOW);
  35.  leftPanel.add(textField);
  36.  //Mise en forme des cadres
  37.  Box top = Box.createHorizontalBox();
  38.  top.add(leftPanel);
  39.  JPanel headerPanel = new JPanel();
  40.  headerPanel.setBackground(Color.WHITE);
  41.  Container content = mainFrame.getContentPane();
  42.  content.setLayout(new BorderLayout());
  43.  content.add(headerPanel, BorderLayout.NORTH);
  44.  content.add(top, BorderLayout.CENTER);
  45.  try {
  46.   RandomAccessFile raf = new RandomAccessFile(myFile, "r" );
  47.   String line;
  48.   while ( (line = raf.readLine()) != null ) {
  49.    fichierContenu += line;
  50.   }
  51.   textField.setText(fichierContenu);
  52.  }
  53.  catch (IOException e) {
  54.   System.out.println("erreur dans: " + e);
  55.  }
  56.  mainFrame.setVisible(true);
  57. }
  58. }


 
Le problème étant que je réccupère, dans mon JPanel, sous forme texte et non sous forme de boutons que ceci :  
 
vzs241vzs242vzb031vzb032vzf031vzf032vzs241
 
 
Quelqu'un peut m'aiderrrrrrrrrrrrr ?? merci d'avance

mood
Publicité
Posté le 03-01-2007 à 15:39:14  profilanswer
 

n°1498700
angelx24
Posté le 04-01-2007 à 13:07:12  profilanswer
 

Lorsque tu les récupères, stocke les dans une liste :
 
Vector liste = new Vector();
 
while ( (line = raf.readLine()) != null )    {
      liste.add(line);
}
 
Puis parcours ta liste en recherchant les String ne commençant pas par "vzs" et supprimme les de la liste.
 
Il ne te reste donc dans ta liste que les mots commençant par "vzs".
 
Maintenant créer un tableau de JButton de taille égale à ta liste :
JButton[liste.size()] jbutton = new JButton();
Et créer tes boutons :
for(int i=0; i < this.liste.size(); i++) {
jbutton[i] = new JButton();
}
 
Et c'est finit, tu as juste à les placer.

n°1498832
sircam
I Like Trains
Posté le 04-01-2007 à 14:13:18  profilanswer
 

M'enfin?!
 
- En 2007, on n'utilise plus Vector.
- Inutile de se farcir deux boucles. Une boucle pour lire, dans laquelle on filtre et dans laquelle ou crée les boutons!

n°1498983
angelx24
Posté le 04-01-2007 à 18:05:08  profilanswer
 

C'est un mec qui n'y connais pas grand chose manifestement en prog alors autant commencer par le début avec les vector après, il passera aux JList etc...
 
Les deux boucles sont dans la même logique afin qu'il comprenne réellement ce qu'il fait.
 
Avant de vouloir optimser ce que l'on fait, il faut savoir matriser ce que l'on fait.
 
Chaque chose en son temps sircam.

n°1499005
kadreg
profil: Utilisateur
Posté le 04-01-2007 à 18:49:56  profilanswer
 

sircam a écrit :


- En 2007, on n'utilise plus Vector.


 
si, sur téléphone portable, c'est la seule collection dispo IIRC :o
 

Spoiler :

point confiture [:petrus75]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°1499011
babap1
Posté le 04-01-2007 à 19:13:36  profilanswer
 

alors alors, voila ce que j'ai fait :
 

Code :
  1. //JButton config.
  2.  try {
  3.   RandomAccessFile raf = new RandomAccessFile(myFile, "r" );
  4.   while ( (line = raf.readLine()) != null) {
  5.    JButton nvBouton = new JButton(line);
  6.    leftPanel.add(nvBouton);
  7.     }
  8.     leftPanel.validate();
  9.  }
  10.  catch (IOException e) {
  11.   System.out.println("WARNING: " + e);
  12.  }


 
le problème étant que je ne veux pas qu'il me fasse un bouton avec la dernière ligne...  :??:  
 
Merci de votre coup de pouce ! :)

n°1499067
sircam
I Like Trains
Posté le 04-01-2007 à 21:56:17  profilanswer
 

kadreg a écrit :

si, sur téléphone portable, c'est la seule collection dispo IIRC :o


:o


Message édité par sircam le 04-01-2007 à 21:56:47

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  HELP création de 'n' boutons

 

Sujets relatifs
Creation site d'enchere?probleme creation de tables
JAVA et TEXT : help !!!création de tableau associatif
Création d'une base de donéecreation hyperliens vers dossier [VBA - E]
CREATION D'UN LOGICIEL ?????Défilement d'images avec Flash MX (help !)
automatiser creation: 1 excel -> plusieurs excels 
Plus de sujets relatifs à : HELP création de 'n' boutons


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR