begin process at 2010 02 09 20:51:48
  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é :6 267 / 1 057

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

JLABELIMAGE : GESTION D'UNE IMAGE EN ARRIÈRE-PLAN par bob22mael
Source avec Zip SÉLECTEUR DE DATES MULTIPLES, ORIGINE UHRAND par William44290
RECHERCHE D'ELEMENTS DANS UNE JLIST par Ze_Hulk
Source avec Zip Source avec une capture PROGICIEL DE LOCATION DE VOITURE par SoftDeath
Source avec Zip Source avec une capture CALENDRIER ET HORLOGE AVEC LA LIBRAIRIE ORG.JDESKTOP.SWINGX par Cornellus1985

 Sources en rapport avec celle ci

Source avec Zip JAVA SERVER PAGE par pasteure
Source avec Zip Source avec une capture IHM CONFIGURABLE POUR FICHIER PROPERTIES par benmor
ENREGISTRER L'ARBORESCENCE D'UN JTREE DANS UN XML AVEC JDOM par coltman
JCONFIGURATIONMANAGER - GESTION DES CONFIGURATIONS par Francks11
CHUNKEDXML, LIRE DU XML PAR MORCEAU par AlexN

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...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,686 sec (4)

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