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

Composants Java Discussion :

afficher les données dans un JTable java


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 17
    Par défaut afficher les données dans un JTable java
    bonjour
    je suis entrain de realiser un programme qui lit à partir d'un fichier texte et affiche les donnée dans un tableau selon des conditions je vais vous publier mon programme s'il vous plait aider à trouver ou est le probleme car mon programme ne passe pas à la ligne suivante??? je sais pas pourquoi
    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
     
    import java.awt.*;
    import java.io.BufferedReader;
    import java.io.FileReader;
    import javax.swing.*;
    import javax.swing.table.*;
    import java .lang.Object;
     import java.util. StringTokenizer;
     
    public class Soft extends JFrame
     
    { 
    JPanel PP;
     Soft()
       {
     
       	 super("les services:");
         System.out.println("eeeeeeeeee");
         setSize(400,400);
         PP =new JPanel();
         PP.setLayout(new BorderLayout());
         System.out.println("eeeeeeeeee");
         add(PP);
       }
      public  void tableau()
       {  
         String[][] donnees=new String[0][0];  
        try
           {
     
     
            String[] cols = {"nom_service", "etat"};
             DefaultTableModel model = new DefaultTableModel(donnees,cols);
            JTable tab = new JTable(model);  
             tab.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);     
              tab.getTableHeader().setFont(new Font("Arial", Font.CENTER_BASELINE,13));    
              tab.getColumnModel().getColumn(0).setPreferredWidth(100);
                 tab.getColumnModel().getColumn(1).setPreferredWidth(100);
     
     
                 //tab.setVisible(true);
          //  getContentPane().add(new JScrollPane(tableau), BorderLayout.CENTER);
              tab.updateUI();
     
              JScrollPane sp = new JScrollPane(tab);
     
               PP.add(sp);
     
               PP.setVisible(true);
     
               PP.updateUI();
     
              tab.updateUI();
     
              this.setVisible(true);
            //pack();
            String ligne="",chaine="";
           StringTokenizer st;
           String m,n,e,j,t;
     
      BufferedReader fin=new BufferedReader(new FileReader("log2.txt"));
     
      while((ligne=fin.readLine())!=null)
       {    
     
            st=new StringTokenizer(ligne,",.;: ");
     
     
             while(st.hasMoreTokens())
             {  String motA=st.nextToken();//motA contient[1265.....]
               String mott=st.nextToken();//mott contient CURRENT
               String mot=st.nextToken();//mot contient soit HOST soit SERVICE
                    String mot=st.nextToken();
     
                    	if(mot.equals("HOST"))
                    	{ System.out.println(ligne);
                    	 ligne +=ligne +"\n";
                    	}
     
             	 if (mot.equals("SERVICE"))
             	{
                     m= st.nextToken();//m contient STAT
                     n=st.nextToken();//n contient le nom du host
                     e=st.nextToken();//e contient le nom du service
                     j=st.nextToken();// j contient l'etat du service
                     t=st.nextToken();// t contient soit hard soit soft
     
                     if (t.equals("soft"))
             	     { Object[] h=new Object[]{e,j};
                     model.insertRow(tab.getRowCount(),h);
                     }
     
                }
     
             }
     
     
     
        }
     
        fin.close();
        }
        catch(Exception f)
        {
        	System.out.println(f.getMessage());
        }
    }
        public static void main(String []args)
        {
        	Soft f=new Soft();
        	f.tableau();
        	f.setVisible(true);
        	f. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
    }
    et voila aussi quelquel lignes de mon fichier text( log2.txt)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [213546845] CURRENT HOST STATE;host1;up;hard;
    [213546845] CURRENT HOST STATE;host1;down;hard;
    [213546847] CURRENT SERVICE STATE;host1;memoire;ok;hard;
    [213546845] CURRENT SERVICE STATE;host3;disck;critical;soft;
    merci d'avance pour votre aide!!!

  2. #2
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 17
    Par défaut
    j'oubli de vous dire que si je fais une copie de mon fichier texte (log2) et j'elimine
    les lignes ou il y a les declaration des hosts
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [213546845] CURRENT HOST STATE;host1;up;hard;
    [213546845] CURRENT HOST STATE;host1;down;hard;
    le prog fonctionne tres bien!!! et si je fais travailler avec la log2 le prog ne depasse pas la 1ere ligne!!!!

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 299
    Par défaut
    Désolé, j'ai un peu modifier certains trucs pour ma propre lecture.
    Mais je pense avoir trouvé ton problème.

    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
     
    import java.awt.*;
    import java.io.BufferedReader;
    import java.io.FileReader;
    import javax.swing.*;
    import javax.swing.table.*;
    import java .lang.Object;
    import java.util. StringTokenizer;
     
    public class Test extends JFrame {
    	private JTable tab;
    	private DefaultTableModel model;
     
    	public Test() {
    		super("les services:");
    		setSize(400,400);
        	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
        	initComponents();
     
        	loadValues();
    	}
     
    	private void initComponents(){
    		String[] cols = {"nom_service", "etat"};
    		model = new DefaultTableModel(cols, 0);
    		tab = new JTable(model);
     
    		tab.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);     
    		tab.getTableHeader().setFont(new Font("Arial", Font.CENTER_BASELINE,13));    
    		tab.getColumnModel().getColumn(0).setPreferredWidth(100);
    		tab.getColumnModel().getColumn(1).setPreferredWidth(100);
     
    		JScrollPane sp = new JScrollPane(tab);
    		add(sp);
    	}
     
    	public void loadValues() {  
     
    		try {
    			String ligne="";
    			StringTokenizer st;
    			String m,n,e,j,t;
     
    			BufferedReader fin = new BufferedReader(new FileReader("log2.txt"));
     
    			while((ligne=fin.readLine())!=null) {
    				System.out.println("ligne : " + ligne);
    				st = new StringTokenizer(ligne,",.;: ");
     
    				while(st.hasMoreTokens()) {
    					String motA = st.nextToken();//motA contient[1265.....]
    					String mott = st.nextToken();//mott contient CURRENT
    					String mot = st.nextToken();//mot contient soit HOST soit SERVICE
     
    					if(mot.equals("HOST")) {
    						break; // pour passer à la ligne suivante
    					}
     
    					else if (mot.equals("SERVICE")) {
    						m= st.nextToken();//m contient STAT
    						n= st.nextToken();//n contient le nom du host
    						e= st.nextToken();//e contient le nom du service
    						j= st.nextToken();// j contient l'etat du service
    						t= st.nextToken();// t contient soit hard soit soft
     
    						if (t.equals("soft")) {
    							Object[] h=new Object[]{e,j};
    							model.insertRow(tab.getRowCount(), h);
    						}
    					}
    				}
    			}
     
    			fin.close();
    		}
    		catch(Exception e) {
    			e.printStackTrace();
    		}
    	}
     
        public static void main(String []args) {
        	Test f = new Test();
        	f.setVisible(true);
        }
    }
    Il te faut un break; dans le cas d'un HOST. Car sinon tu n'as pas terminé le parcours de token et du coup ton MotA ainsi que les autres sont décalés.

  4. #4
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 17
    Par défaut
    slt;
    un grand merci "Caalador" c'est ca c'est que je cherche !! merci pour ton aide

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/07/2008, 20h06
  2. afficher les données dans dbcombobox
    Par SOPSOU dans le forum Langage
    Réponses: 1
    Dernier message: 21/12/2007, 21h38
  3. Réponses: 2
    Dernier message: 13/12/2007, 19h34
  4. Réponses: 3
    Dernier message: 09/02/2007, 11h31
  5. Afficher les données dans ma JTable
    Par jojo57 dans le forum JDBC
    Réponses: 1
    Dernier message: 01/12/2006, 21h20

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