Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

Java: Créer une interface graphique basée sur un document XML*

Java: Créer une interface graphique basée sur un document XML*
{filelink=8737}

/***** Code de MesExemples.com *******/
import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.FileInputStream;import javax.swing.JButton;import javax.swing.JComponent;import javax.swing.JFrame;import javax.swing.JPanel;import org.xml.sax.Attributes;import org.xml.sax.InputSource;import org.xml.sax.helpers.DefaultHandler;import com.sun.org.apache.xerces.internal.parsers.SAXParser;public class SimpleApp3 implements ActionListener {  public static void main(String args[]) {    JFrame frame = new JFrame("SimpleApp Demo");    frame.setSize(400400);    frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);    new SimpleApp3(frame);  }  public SimpleApp3(JFrame frame) {    frame.getContentPane().setLayout(new BorderLayout());    XMLComponent xmlComponent = new XMLComponent();    frame.getContentPane().add("Center", xmlComponent.build("ui.xml"));    frame.setVisible(true);  }  public void actionPerformed(ActionEvent ev) {    System.out.println("You clicked " + ev.getActionCommand());  }}class XMLComponent extends DefaultHandler {  private boolean containerActive = false;  private JPanel primaryContainer = new JPanel();  private SAXParser parser = new SAXParser();  public XMLComponent() {    super();  }  public JComponent build(String xmlDocument) {    parser.setContentHandler(this);    try {      parser.parse(new InputSource(new FileInputStream(xmlDocument)));    } catch (Exception ex) {      System.out.println(ex);    }    return primaryContainer;  }  public void startElement(String namespaceURI, String name, String qName, Attributes atts) {    if (name.equals("button"))      primaryContainer.add(new JButton(atts.getValue("label")));  }}// ui.xml/* * <?xml version="1.0"?> <ui> <button label="XML"/> <button label="is"/> <button * label="great"/> </ui> *  *  */                  

Code testé avec le fichier XML Suivant

<?xml version="1.0" encoding="windows-1252"?>
<!-- Edited by MesEXemple.com -->
<note>
	<to>Sakoba</to>
	<from>Adams</from>
	<heading>Rappel</heading>
	<body>Ne m'oubliez pas ce week-end!</body>
</note>

A Voir sur le même Sujet:

  • base de donne en xml