Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : affichage d'un fichier xml dans un table [ Divers / Général ] (samira46)

mardi 10 juin 2008 à 12:16:15 | affichage d'un fichier xml dans un table

samira46

salut, bon j'ai un petit pb et je veux l'aide si vous voulez,bon j'ai un fichier xml et je veux afficher ce fichier dans un table mais l'affichage se fait verticalement ,je veux afficher le table horizontalement:
donc voila le fichier et la classe java ,je veux seulement la correction :
////le fichier xml
<?xml version="1.0" encoding="UTF-8"?>
<dispositif>
  <caracteristiques_dispositif>
    <nom_dispositif>cum-356883d3588</nom_dispositif>
    <adresse_ip>172.16.26.255</adresse_ip>
    <service1>Adobe Reader 8</service1>
    <service2>Kaspersky Anti-Virus 6.0</service2>
    <service3>Microsoft Office Professional</service3>
    <service4>Mozilla Firefox(2.0.0.14)</service4>
    <service5>Systran Professional Premium</service5>
    <service6>WinRAR archiver 3.70</service6>
    <service7>JCreator LE 4.00</service7>
    <service8>Borland JBuilder 9 </service8>
  </caracteristiques_dispositif>
</dispositif>


//la classe java:


import javax.xml.transform.*;
import javax.xml.parsers.*;
import javax.xml.transform.sax.*;
import org.xml.sax.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
import org.w3c.dom.*;
import java.io.*;
import java.sql.*;
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;

public class JTableXml extends JTable  {
    Element e;
    /** Creates a new instance of JTableXml */
    
    public JTableXml(Element elem){
        this.e = elem;
        System.out.println("tototo" + e.getNodeName());
        init();
    }
    public void init(){
            this.setModel(new AbstractTableModel() {
            
            //FONCTION 1:
            public String getColumnName(int col) {
                return JTableXml.this.getColumnName(col);
            }
            
             //FONCTION 2:
            public int getRowCount() { return JTableXml.this.getRowCount(); }
             //FONCTION 3:
            public int getColumnCount() {return JTableXml.this.getColumnCount();}
            //FONCTION 4:
            public Object getValueAt(int row, int col) {
                return getValueAt(row, col);
            }
             //FONCTION 5:
            public boolean isCellEditable(int row, int col)
            { return true; }
             //FONCTION 6:
            public void setValueAt(Object value, int row, int col) {
                JTableXml.this.setValueAt(value, row, col);
                fireTableCellUpdated(row, col);
            }
        });
    
        
    }
    
    public String getColumnName(int col) {
        for(int i=0;  i< e.getChildNodes().getLength(); i++ ){
      
            if(e.getChildNodes().item(i).getNodeType()!= Element.TEXT_NODE){
                int p=-1;
                for(int j = 0 ; j<e.getChildNodes().item(i).getChildNodes().getLength(); j++){
                    if(e.getChildNodes().item(i).getChildNodes().item(j).getNodeType()!= Element.TEXT_NODE)
                        p++;
                    if(p==col)
                        return e.getChildNodes().item(i).getChildNodes().item(j).getNodeName();
                }
            }
        }
    return null;
    }
    
    public int getRowCount() {
        if(e==null) return 0;
        int p=0;
        for(int i=0;  i< e.getChildNodes().getLength(); i++ ){
            if(e.getChildNodes().item(i).getNodeType()!= Element.TEXT_NODE)
                p++;
        }
        return p;
    }
    
    public int getColumnCount() {
        int p=0;
        for(int i=0;  i< e.getChildNodes().getLength(); i++ ){
            if(e.getChildNodes().item(i).getNodeType()!= Element.TEXT_NODE){
                for(int j = 0 ; j<e.getChildNodes().item(i).getChildNodes().getLength(); j++)
                    if(e.getChildNodes().item(i).getChildNodes().item(j).getNodeType()!= Element.TEXT_NODE)
                        p++;
                return p;
            }
        }
        return 0;
    }
    
    public Object getValueAt(int row, int col) {
        if(e==null) return null;
        int pp = -1;
        for(int i=0;  i< e.getChildNodes().getLength(); i++ ){
            if(e.getChildNodes().item(i).getNodeType()!= Element.TEXT_NODE){
                pp++;
                if(pp==row){
                    int p=-1;
                    for(int j = 0 ; j<e.getChildNodes().item(i).getChildNodes().getLength(); j++){
                        if(e.getChildNodes().item(i).getChildNodes().item(j).getNodeType()!= Element.TEXT_NODE)
                            p++;
                        if(p==col)
                            try{
                            return e.getChildNodes().item(i).getChildNodes().item(j).getFirstChild().getNodeValue();
                            }
                            catch(Exception er){er.printStackTrace();};
                    }
                }
            }
        }
        return null;
        
        
    }
    
    public boolean isCellEditable(int row, int col) {
        return true;
    }
    
    public void setValueAt(Object value, int row, int col) {
        
    }
    public static void main(String[] args) {
        try{
            DocumentBuilderFactory DBF = DocumentBuilderFactory.newInstance();
            Document doc = DBF.newDocumentBuilder().parse(JTableXml.class.getResourceAsStream("monfichier.xml"));
            System.out.println(doc.getDocumentElement().getNodeName());
            JTableXml jtx = new JTableXml(doc.getDocumentElement());
            JFrame f = new JFrame();
            f.getContentPane().setLayout(new BorderLayout());
            f.getContentPane().add(jtx.getTableHeader(), BorderLayout.NORTH);
            f.getContentPane().add(jtx, BorderLayout.CENTER);
            f.pack();
            //f.show();
            f.setVisible(true);
            
        }catch(Exception e){
            e.printStackTrace();
        }
    }
    
    
    
}




Cette discussion est classé dans : public, int, item, return, getchildnodes


Répondre à ce message

Sujets en rapport avec ce message

Help [ par fredspv ] Que faire avec les erreurs du ptit prog suivant ?public class Nat{ int n; public Nat(int n){ this.n=n; } public int getValue(){ return n; ajouter dans cette table des button (JAVA JTABLE JBUTTON) [ par zarziszita ] salut a toutes le monde mon probleme que j'ai envie ajouter deux button a la fin de table une des button permet ajouter un ligne .le methode main se t probleme de raffraichissement d'image [ par Azdruyel ] Bonjour a tous!Aujourd'hui,un nouveau jour, et donc un nouveau probleme!!!Alors voila, mon truc c'est que j'affiche en fond dans un JPanel une image ( JTable éditeur de couleur [ par jc_romeo ] BonjourJe voudrais faire une JTable avec le fait que quand on clique sur une des cases on puisse changer sa couleur de fond.j'ai donc créer la classe: Pb avec une JTable et getSelctedRow() [ par gyome314 ] Salut les jeunes !Voila mon pb...Dans une interface graphique, je cherche éditer une liste de fichiers sous la forme d'une JTable avec une seule colon JTable : afficher une Date [ par isako ] Bonjour,Ce sujet n'est pas nouveau dans le forum, mais je n'ai pas trouvé la solution... Je vous soumets mon problème en espérant que l'un de vous pou JTable et setValueAt [ par anbanb ] Bonjour a tous je suis en train de créer une jtable mais j ai quelques soucis au niveau de la methode setvalueat .public int getColumnCount() {        Probleme de keylistener sur Jframe et clipping [ par superjoe3 ] Bonjour, je suis en train de faire un pacman dans le cadre d'un projet de programmation, et j'ai un souci à propos des Keylistener sur la Frame qui d Polymorphisme [ par super_toinou ] Bonjour a tous, y a une ptite question qui me tarraude : j ai l impression que le polymorphisme ne marche pas pour les fonctions statiques. Par e <html:select> récupérer valeur sélectionnée [ par forcels ] Hello !Je travaille actuellement sur un site web réalisé en JSP, et j'ai un petit soucis par rapport à une liste .Je souhaite récupérer la valeur séle


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,374 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.