begin process at 2012 02 04 15:35:09
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Swing

 > UNE JTABLE REMPLIE AVEC DU XML

UNE JTABLE REMPLIE AVEC DU XML


 Information sur la source

Note :
Aucune note
Catégorie :Swing Classé sous :jtable, xml Niveau :Débutant Date de création :14/10/2004 Vu / téléchargé :7 340 / 1 224

Auteur : moigoupil

Ecrire un message privé
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Ce p'tit code source permet de lier un fichier XML et une JTable. Il permet seulement la lecture de fichier xml pour l'instant mais il sera possible d'enregistrer dans quelques jours.

Source

  • /*
  • * JTableXml.java
  • *
  • * Created on 14 octobre 2004, 13:49
  • */
  • package anemf.lgc.xml;
  • 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 anemf.lgc.basededonnee.*;
  • import anemf.lgc.*;
  • import java.sql.*;
  • import java.util.*;
  • import javax.swing.*;
  • import javax.swing.table.*;
  • import java.awt.*;
  • /**
  • *
  • * @author renard
  • */
  • 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() {
  • public String getColumnName(int col) {
  • return JTableXml.this.getColumnName(col);
  • }
  • public int getRowCount() { return JTableXml.this.getRowCount(); }
  • public int getColumnCount() {return JTableXml.this.getColumnCount();}
  • public Object getValueAt(int row, int col) {
  • return getValueAt(row, col);
  • }
  • public boolean isCellEditable(int row, int col)
  • { return true; }
  • 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) {
  • }
  • /**
  • * @param args the command line arguments
  • */
  • public static void main(String[] args) {
  • try{
  • DocumentBuilderFactory DBF = DocumentBuilderFactory.newInstance();
  • Document doc = DBF.newDocumentBuilder().parse(JTableXml.class.getResourceAsStream("test.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();
  • }catch(Exception e){
  • e.printStackTrace();
  • }
  • // TODO code application logic here
  • }
  • }
/*
 * JTableXml.java
 *
 * Created on 14 octobre 2004, 13:49
 */

package anemf.lgc.xml;

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 anemf.lgc.basededonnee.*;
import anemf.lgc.*;
import java.sql.*;
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
/**
 *
 * @author  renard
 */
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() {
            public String getColumnName(int col) {
                return JTableXml.this.getColumnName(col);
            }
            public int getRowCount() { return JTableXml.this.getRowCount(); }
            public int getColumnCount() {return JTableXml.this.getColumnCount();}
            public Object getValueAt(int row, int col) {
                return getValueAt(row, col);
            }
            public boolean isCellEditable(int row, int col)
            { return true; }
            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) {
        
    }
    
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        try{
            DocumentBuilderFactory DBF = DocumentBuilderFactory.newInstance();
            Document doc = DBF.newDocumentBuilder().parse(JTableXml.class.getResourceAsStream("test.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();
            
        }catch(Exception e){
            e.printStackTrace();
        }
        
        
        
        // TODO code application logic here
    }
    
    
    
}


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip Source avec une capture BANNIÈRE EN SWING : TEXTE DÉFILANT SUR UN JLABEL par Julien39
Source avec Zip Source avec une capture INDICATEUR D'ACTIVITÉ ANIMÉ par Julien39
Source avec Zip Source avec une capture JGRAPH : COMPOSANTS SWING CUSTOMISÉS par Julien39
Source avec Zip Source avec une capture JTABLE CUSTOMISÉE par Julien39
Source avec Zip Source avec une capture BARRE D'ATTENTE CIRCULAIRE par Julien39

 Sources en rapport avec celle ci

REDIMENSIONNER UNE JTABLE par Julien39
Source avec Zip Source avec une capture JTABLE CUSTOMISÉE par Julien39
Source avec Zip Source avec une capture AFFICHER UN FICHIER CSV DANS UNE JTABLE par Julien39
Source avec une capture JTABLE REDIMENSIONNABLE par Julien39
EJB3-BEAN ENTITÉ : RELATIONS BIDIRECTIONNELLES par SoftDeath

Commentaires et avis

Commentaire de DhakouaniM le 30/04/2005 04:33:50

La ligne f.show(); est à remplacer par f.setVisible(true); car le methode show a ete abandonnee depuis qq temps.

Commentaire de DhakouaniM le 30/04/2005 04:36:20

Ah ouim et j'avais oublié... Les lignes suivantes peuvent être supprimées.

package anemf.lgc.xml;
import anemf.lgc.basededonnee.*;
import anemf.lgc.*;

Commentaire de agnescol le 27/05/2005 16:21:43

je suis arrivée à la compiler en utilisant xerces.jar mais lors de l'execution g une erreur :
"Exception in thread "main" java.lang.noClassDefFoundError: JTableXml

je ne comprend pas pkoi peut-tu m'aider?

Commentaire de kmeleon1 le 14/05/2009 16:31:25

pour eviter l'erreur,
1- modifier cette ligne:
Document doc = DBF.newDocumentBuilder().parse(JTableXml.class.getResourceAsStream("test.xml"));

par :
  Document doc = DBF.newDocumentBuilder().parse("test.xml");

2- placer le fichier xml à la racine du projet

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

JTable et XML ? [ par bea4031 ] Salut &#224; tous un petit renseignements je veux cr&#233;er un fichier XML &#224; partir d'un JTable.Faut il absolument recr&#233;er un modele de JTa jtable et fichier xml [ par souhira_tn ] comment parser un fichier XML et remplir une jtable avec java Mapping JTable avec XML ? [ par budhax ] Bonjour,Je cherche depuis longtemps un exemple de mapping JTable &lt;-&gt; fichier.xmlavec mise-à-jour du fichier.xml après édition de la JTable.Rien Page JSP qui renvoie du xml [ par AlexN ] Salut,J'ai une page JSP (status.jsp) qui est appelée en boucle depuis une autre (results.jsp) par l'objet XMLHttpRequest pour connaitre l'état d'avanc Lier plusieurs documents XSD... [ par Foub ] Bonjour,je dois valider des documents XML avec un document XML-Schema (XSD).Mon document XSD se décompose en trois fichiers : 1 - mesTypesSimples.xsd JTable [ par kawtar_ch ] Salut!!comment faire pour qu'un JTable m'affiche les données a partir de la base de données et comment pourrais modifier, supprimer et ajouter dans la JTable [ par kawtar_ch ] Bonjour!!comment afficher le contenu d'une BDD dans JTable?? et comment pouvoir modifier, supprimer ou ajouter une ligne dans JTable en mettant à jour colonnes de JTable [ par kawtar_ch ] Bonjour!est-ce qu'on peut rendre certaines colonnes d'une JTable grisées alors que d'autres ne le sont pas?? Fichier xml et service web [ par sche44 ] Bonjour,J'ai creé un service web sous myeclipse (xfire), ensuite j'ai ajouter un API a ce service, le problème c que cet API utilise un fichier xml po


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales