Title: XFrame
Author: Trung Tran

Abstract:
The project will utilize schema, XML, and Java reflection to create a JFrame and other Swing components, and possibly function binding, through the use of an XML file. The XML file will specify the JFrame, the Swing components to be contained within the JFrame, and the various text and UI of the display.

What:
The program will be a single library that, when given a specific XML file, creates a JFrame and various Swing components that could be contained within the frame. The frame, and possibly its contained components, will be accessible by the program using the library. Given the returned frame, the program could set it visible and run it. The user will have to create an XML file as specified by a known schema. The XML file will specify the main frame, the various swing components to be contained within the frame, the textual values of the frame and components, and possibly function binding for each component.

Why:
The project, although many other exists, would allow a user to separate the UI part of a program from the actual running code. This would allow a team of developer and designer to work together where changes to the UI could be done semi-independent of the developer. Also, this would allow both the developer and the designer to focus on each of their expertise. Using XML is a good choice in that we could both set constraint in which Swing components supported as well as which of their functionalities. Furthermore, the XML configuration file could be validated, allowing the library to trust that it's getting only the configuration supported.

How:
The library will be pure Java. It will utilizes either JAXP or JAXB to parse the XML configuration file. Using reflection, it will create the various Swing components, including the JFrame. Since I'm not very familiar with Java reflection, I will need to research more in how to use it.

Questions:
I'm not sure if this is enough or more than enough.