NAU Capstone Design Sequence
Sponsor Project Description
"Java Syrup" - A GUI Markup Language |
Plasma Works |
|
- Sponsor Information
- Abe Pralle
Development Coordinator, Plasma Works (928)
523-8882 (work) Abe.Pralle@nau.edu (email)
2700 Woodlands Village Blvd #300-413 Flagstaff, AZ 86001
- Project Description
- The goal is to create a Java 1.1 implementation of Plasma Works'
proprietary GUI Markup Language, "Syrup" - henceforth called "Java
Syrup." Necessitated by the relative clunkiness of the AWT system in
Java 1.1, Java Syrup will give programmers the ability to quickly and
easily implement a GUI interface for their program.
Java 1.1 is the base requirement - as opposed to versions 1.2 or
higher, which include "Swing" - because most applets written for the web
are still written in 1.1 to provide maximum compatibility with typical
browsers.
Java Syrup is to Java what HTML Forms are to JavaScript: a definition
language that depends upon another language to provide true
functionality. It is patterned loosely after a combination of HTML Form
tags, JavaScript objects, and the existing GUI markup language "XUL"
(pronounced "zool;" XUL is only implemented in a Mozilla/XML/JavaScript
environment).
The Java Syrup deliverable will include a set of classes that:
- Parse plain-text GUI definition strings.
- Create, draw, and maintain the required controls on-screen.
- Provide centralized access and modification of those controls and
their associated events from Java.
The final requirement is to create a GUI Builder application with
Java 1.1 and Java Syrup, both as a tool in itself and as a showcase for
the project. It should allow the user to dynamically create and position
windows, menus, tabs, etc. - relying on the core Syrup routines - and
then save the finished layout as an ASCII definition file.
- Knowledge, Skills, and Expertise Requirements
- Team members should have:
- Solid Java programming skills.
- Some knowledge of existing GUI APIs.
- Experience with parsing or simple compilers.
- The ability to program Java Interfaces, callbacks, methods, and
dynamic (string-based) class loading and method invocation.
- Some experience with low-level graphics and drawing on bitmaps.
- An understanding of Java Packages.
- Equipment Requirements
- The development team must provide their own access to a Java
development environment (version 1.1.8 or higher). This can be as simple
as a command-line compiler or as elaborate as a Visual J++ project.
The team will have full access to Plasma Works' library of fast
bitmap drawing routines. These may be integrated as required into the
Java Syrup project.
No other materials are required. The sponsor will be available on a
daily basis for assistance with any questions or problems.
- Deliverables
-
- A Java package that implements the core Java Syrup requirements.
- A working GUI Builder application.
- Fully commented source code.
- A list of any missing features or known bugs.
|