Accueil > > > UNE JTABLE REMPLIE AVEC DU XML
UNE JTABLE REMPLIE AVEC DU XML
Information sur la source
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
}
}
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
JTable et XML ? [ par bea4031 ]
Salut à tous un petit renseignements je veux créer un fichier XML à partir d'un JTable.Faut il absolument recré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 <-> 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
|
Derniers Blogs
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|