Java XML: Afficher un document XML dans une interface graphique Swing

Author:

Java XML: Afficher un document XML dans une interface graphique Swing
{filelink=8735}

/***** Code de MesExemples.com *******/

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.Event.*;
import java.io.*;
import javax.swing.tree.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import org.apache.xerces.parsers.*;
public class XMLTreeView {       
	private SAXTreeBuilder saxTree = null;       
	private static String file = "";              
	public static void main(String args[])
	{             
	JFrame frame = new JFrame("XMLTreeView: [ games.xml ]");              
	frame.setSize(400,400);                            
	frame.addWindowListener(new WindowAdapter()
	{                   
	public void windowClosing(WindowEvent ev)
	{                       
	 System.exit(0);                   
	 }              
	 });              
	 file = "userinfo.xml";              
	 new XMLTreeView(frame);       
	 }              
	 public XMLTreeView(JFrame frame)
	 {              
	 	frame.getContentPane().setLayout(new BorderLayout());                
	 	DefaultMutableTreeNode top = new DefaultMutableTreeNode(file);
	 	saxTree = new SAXTreeBuilder(top);
	 	try {                           
	 	SAXParser saxParser = new SAXParser();              
	 	saxParser.setContentHandler(saxTree);              
	 	saxParser.parse(new InputSource(new FileInputStream(file)));
	 	}catch(Exception ex)
	 	{                 
	 	top.add(new DefaultMutableTreeNode(ex.getMessage()));              
	 	}              JTree tree = new JTree(saxTree.getTree());               
	 	JScrollPane scrollPane = new JScrollPane(tree);                            
	 	frame.getContentPane().add("Center",scrollPane); 
	 	frame.setVisible(true);                             
	 	}              
	 	}
	 	
 class SAXTreeBuilder extends DefaultHandler{              
	 private DefaultMutableTreeNode currentNode = null;       
	 private DefaultMutableTreeNode previousNode = null;       
	 private DefaultMutableTreeNode rootNode = null;       
	 
	 public SAXTreeBuilder(DefaultMutableTreeNode root)
	 {              
		 rootNode = root;       
	 }       
	 public void startDocument()
	 {              
	 	currentNode = rootNode;       
	 }       
	 public void endDocument(){       }       
	 public void characters(char[] data,int start,int end)
	 {              
	 	String str = new String(data,start,end);                            
	 	if (!str.equals("") && Character.isLetter(str.charAt(0)))                  
	 	currentNode.add(new DefaultMutableTreeNode(str));                  
	 }       
	 public void startElement(String uri,String qName,String lName,Attributes atts)
	 {              
	 	previousNode = currentNode;              
	 	currentNode = new DefaultMutableTreeNode(lName);              // Add attributes as child nodes //              
	 	attachAttributeList(currentNode,atts);              
	 	previousNode.add(currentNode);                     
	 }       
	 public void endElement(String uri,String qName,String lName)
	 {              
	 	if (currentNode.getUserObject().equals(lName))                  
	 	currentNode = (DefaultMutableTreeNode)currentNode.getParent();                     
	 }       
	 public DefaultMutableTreeNode getTree()
	 {              
	 	return rootNode;       
	 }              
	 private void attachAttributeList(DefaultMutableTreeNode node,Attributes atts)
	 {               
	 	for (int i=0;i


	Sakoba
	Adams
	Rappel
	Ne m'oubliez pas ce week-end!

A Voir sur le même Sujet:

  • exemple de projet en java
  • comment afficher un fichier xml sur jframe
  • comment afficher des images en swing
  • interface graphique importer des documents java
  • interface de lecteur multimidia en java
  • afficher un caratère unicode dans java
  • xml

Leave a Reply

Your email address will not be published. Required fields are marked *