Java Development


What you're looking at are some of the Java applets/programs that I've written. The Interactive OpenGL Tutorial is my first experience programming anything extensive in Java. It requires GL4Java, which is available at www.jausoft.com.

As a language, I like Java. I'm pretty good at learning new languages but I remember Java was particularly easy to just pick up and go. It fits into the object-oriented paradigm better than C++ and is very well documented too. As a matter of fact, the way they've implemented Javadoc has allowed me to use only two sources for learning Java:


Interactive OpenGL Tutorial
This applet was created by me under the supervision of Dr. Li Yang during the fall of 2001. It started as a port of Nate Robin's Projection Demo. Eventually it came to incorporate a whole slew of transformation functions from the OpenGL library to show how the various parameters affect the 3D view and how the order in which the functions are called is also important. The appearance of the applet is a hybrid of Nate Robin's demo and of another demo by Emran Jafree, Mike Melville, and Yuanlei Zhang. Both of their demos were written in C however so I ended up rewriting nearly all of their code in order to fit into the Java Object Oriented paradigm. They definitely deserve credit here because this would have been much more difficult without their influence (not that this demo was easy to create by any means!).


The applet only takes one parameter: viewsize. The viewsize parameter reflects the dimensions of the two view windows of the applet. I added this parameter because I realized that as I made newer versions the size of these views would need to change to make the appearance look nice. Below are links to all of the versions, both compiled and source versions. I like hearing when people use my software so feel free to email me with comments/questions.


Widgie - A GUI Development Tool
By day during Spring Break 2002 I was programming Widgie, by night... well that's a different story. Widgie was an experiment in rapid GUI development with Java for two reaons: 1) it allows you to quickly develop frames and generate source code using a very basic point-and-click interface and 2) I developed the entire application, all 5,000+ lines of code, in a week (7 days). For what it does, I'm pretty happy with how it turned out. Here's a screen shot:


It runs pretty fast but as you can see it's aimed primarily at GUI development in MS Windows. I wrote it using AWT (at the time I was annoyed at how slow I thought Swing was) so it doesn't look quite right in other operating systems but it is cross-platform. Here's the source, zipped

Download: Widgie 1.0 Source Code

A couple of features I think are worth pointing out are the custom toolbar with mouse-overs that you see on the left of the screenshot and a very modular design. All droppable objects implement the Widget interface that I defined to provide a pretty quick and easy way to add new controls to a frame. Also, though far from perfect, the way I implemented the source code generation is done by deriving from an abstract class called WidgieExporter. By creating new exporter classes you can effectively design a single form and output source in any number of languages using any number of libraries (the exporter I wrote generates Java 1.1 code with AWT but I could easily write exporters to generate MFC, GTK, Qt, Swing, etc.).

Anyway, check it out and let me know what you think. The zip includes a readme file that mentions known bugs and what can be improved upon so you should read that before contacting me with comments/questions.