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

Interfaces Graphiques en Java Discussion :

problème de avec des boutons


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 94
    Points : 44
    Points
    44
    Par défaut problème de avec des boutons
    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 : 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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
     
     
       1.
          package projet1;
       2.
     
       3.
          import java.awt.BorderLayout;
       4.
          import java.awt.Color;
       5.
          import java.awt.Container;
       6.
          import java.awt.event.ActionEvent;
       7.
          import java.awt.event.ActionListener;
       8.
          import java.io.IOException;
       9.
          import java.io.RandomAccessFile;
      10.
     
      11.
          import javax.swing.BorderFactory;
      12.
          import javax.swing.Box;
      13.
          import javax.swing.JButton;
      14.
          import javax.swing.JFrame;
      15.
          import javax.swing.JPanel;
      16.
          import javax.swing.JTextArea;
      17.
          import javax.swing.border.BevelBorder;
      18.
          import javax.swing.border.CompoundBorder;
      19.
          import javax.swing.border.EtchedBorder;
      20.
          import javax.swing.border.TitledBorder;
      21.
     
      22.
          public class Affichage extends JFrame {
      23.     
      24.
              static JFrame mainFrame = new JFrame("Réccupération de données" );
      25.
              JTextArea textField = new JTextArea();
      26.
              String myFile = "hostname.txt";
      27.
              String fichierContenu= "";
      28.     
      29.
              public Affichage() {
      30.         
      31.
                  mainFrame.setSize(800, 600);
      32.         
      33.
                  //centerPanel
      34.
                  Box left = Box.createVerticalBox();
      35.
                  JPanel leftPanel = new JPanel(new BorderLayout());
      36.
                  leftPanel.setBorder(new TitledBorder(
      37.
                                              new EtchedBorder(),
      38.
                                              "SNEC-IN" ));
      39.
                  leftPanel.setBackground(Color.YELLOW);
      40.
                  leftPanel.add(left, BorderLayout.CENTER);
      41.
                  textField.setBackground(Color.YELLOW);
      42.
                  leftPanel.add(textField);
      43.         
      44.
                  //Mise en forme des cadres
      45.
                  Box top = Box.createHorizontalBox();
      46.
                  top.add(leftPanel);
      47.         
      48.
                  JPanel headerPanel = new JPanel();
      49.
                  headerPanel.setBackground(Color.WHITE);
      50.         
      51.
                  Container content = mainFrame.getContentPane();
      52.
                  content.setLayout(new BorderLayout());
      53.
                  content.add(headerPanel, BorderLayout.NORTH);
      54.
                  content.add(top, BorderLayout.CENTER);
      55.         
      56.
                  try    {
      57.
                      RandomAccessFile raf = new RandomAccessFile(myFile, "r" );
      58.
                      String line;
      59.
                      while ( (line = raf.readLine()) != null )    {
      60.
                          fichierContenu += line;
      61.
                      }
      62.
                      textField.setText(fichierContenu);
      63.
                  }
      64.
                  catch (IOException e)    {
      65.
                      System.out.println("erreur dans: " + e);
      66.
                  }
      67.         
      68.
                  mainFrame.setVisible(true);
      69.
              }
      70.
          }

    Le problème étant que je réccupère, dans mon JPanel, sous forme texte et non sous forme de boutons la ligne suivante :

    vzs241vzs242vzb031vzb032vzf031vzf032vzs241


    Quelqu'un peut m'aiderrrrrrrrrrrrr ?? merci d'avance

  2. #2
    Membre actif Avatar de Pikwik
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 237
    Points : 252
    Points
    252
    Par défaut
    Je comprends pas bien ce que tu veux faire ?
    Fabriquer X boutons (Jbutton ?) en fonction des donnèes présentes dans un fichier ? Pourquoi ce JTextField ?

    De plus ton line += c'est un peux goret. Regarde du coté de la classe StringBuilder.

    A+ !

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    Deux choses :

    1. Tu récupères une ligne parce que tu concatènes les chaînes.
    2. Tu la rajoutes à un TextArea, alors comment tu veux avoir des boutons :

    while ( (line = raf.readLine()) != null ) {

    JButton nvBouton = new JButton(line);
    leftPanel.add(nvBouton);

    }
    leftPanel.validate;
    Mais pour que cela te servent à quelque chose, il faudrait peut être ajouter un écouteur ou une action à chacun de ces boutons.

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 94
    Points : 44
    Points
    44
    Par défaut je compte ajouter des écouteurs ensuite
    merci pour vos réponses....
    j'ai encore un soucis, c'est qu'il me créer un seul bouton avec la dernière ligne alors que j'aimerais un JBouton par chaine de caractère de type vzf032 ou vzb032....
    Par la suite j'aimerais que l'action de chaque bouton me créer un fichier XML de la forme :

    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
     
    <!DOCTYPE EQUIPMENT SYSTEM "equipment.dtd">
    <EQUIPMENT>		
    	<COMMAND label="top" logfile="top.txt" expect="vzs241 linus>">
    		<CONTROLWORD>cpu</CONTROLWORD>
    	</COMMAND>
    	<COMMAND label="sepman -l" logfile="sempan.txt" expect="vzs241 linus>">
    		<CONTROLWORD>sepman</CONTROLWORD>
    	</COMMAND>
    	<COMMAND label="shmdbmmi S01G00" logfile="shmdb.txt" expect="SHMDBMMI>">
    		<CONTROLWORD>memory</CONTROLWORD>
    	</COMMAND>
    	<COMMAND label="host.find(hostname\$=='')" logfile="hostname.txt" expect="SHMDBMMI>">
    		<CONTROLWORD>hostname</CONTROLWORD>
    	</COMMAND>
    		<COMMAND label="exit" logfile="trash.txt" expect="vzs241 linus>">
    	</COMMAND>
    		<COMMAND label="su -" logfile="trash.txt" expect="Password:">
    	</COMMAND>
    		<COMMAND label="Compaq" logfile="trash.txt" expect="vzs241:/>">
    		</COMMAND>
    </EQUIPMENT>
    merci pour votre aide !

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 238
    Points : 267
    Points
    267
    Par défaut
    A la creation de ton panel fait cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    leftPanel.setLayout (new FlowLayout ());
    Par défaut il me semble que le layout d'un panel est un BorderLayout. Or quand tu ajoute plusieurs objets au meme endroit il sont ecrasé, c'est pour cela que tu n'avais que le dernier bouton.

Discussions similaires

  1. Problème avec des boutons controle ActiveX
    Par dadu35 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/06/2015, 12h20
  2. Problème avec des Boutons personnalisés
    Par Turvy dans le forum Composants graphiques
    Réponses: 1
    Dernier message: 18/04/2014, 11h23
  3. Graphique avec matplotlib, probléme d'affichage des boutons
    Par astragoth dans le forum Général Python
    Réponses: 0
    Dernier message: 08/04/2010, 08h27
  4. problème avec des boutons
    Par Sylar44 dans le forum Interfaces Graphiques en Java
    Réponses: 10
    Dernier message: 10/11/2007, 15h01
  5. Problème avec des Boutons Radio
    Par Spinoza23 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 01/02/2007, 13h59

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