XML User Interface : XML UI : XML : Java examples (example source code) Organized by topic

Java
C++
PHP
Java Home »  XML   » [  XML UI  ]  Screenshots 
 



XML User Interface




/*
  Java, XML, and Web Services Bible
  Mike Jasnowski
  ISBN: 0-7645-4847-6
*/

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
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.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent ev) {
        System.exit(0);
      }
    });

    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>


*/

           
       
Related examples in the same category
























Home| Contact Us
Copyright 2003 - 04 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.