Most of my projects are done in Java, and all are provided as is with no explicit or implicit guarantees on how well they will work. You may download them and toy with them as you will but they may not be sold or packaged with a commercial product. If you wish to use them for educational purposes or some other non-profit use, just send me an email and ask first. If you significantly modify the code then you may do with it as you wish so long as you give me credit for contributing to whatever it is you produce. I of course welcome suggestions, comments, and other sorts of constructive criticism on these projects.
A lot of my programs will require you to have the Xerces XML parser. The link below is to the Xerces project page, but I am not affiliated with the project in any way. The software provided there is free. When you download the implementation, unzip the xercesImpl.jar and xml-apis.jar files so that they are in the classpath or in the same directory as the .jar file for my project.
Example: you are using the XMLTree project, place XMLTree.jar, xercesImpl.jar and xml-apis.jar in the same directory. You can then run the project JAR file. In windows, this consists of simply double clicking on the .jar file. You must have the Java Runtime Environment installed (JRE). If not, visit Java's home page (see link on the right) and download the JRE. Use version 1.4.0 or higher, as that is what I am using for most of my development.
This isn't so much of a project as it is a compilation of various Java widgets I've developed. I've included only the ones that are reasonably well planned out and nicely javadoc'd. The collection of classes includes everything from a nicely abstracted Graph to an Object Pooling interface and default implementation to a JGraph and other visual widgets. Let me know if you come up with any interesting extensions for this set of classes!
Feb. 20, 2004 – I just got done doing a major re-work of my generic library. It now includes a much better implementation of JGraph and the generic Graph collection object. The JGraph is now very customizable, allowing the client components to customize pop-up menus, inherent JNode properties, the look and feel of the JNode, and respond to mouse events without interfering with the normal function of DraggableComponents/DraggableContainers.
At this point in time, the current implementation of the beowulf library includes:
This project is a simple XML file editor. It displays XML nodes in a file in a tree on the left hand side of the program window, and displays the highlighted node's attributes on the right hand side. I don't think this program is completely compliant with all of the tags allowed in XML, but it has worked on all of the files I have ever needed to edit.
As with most of my projects, there are no install scripts. Simply create a directory for this "program" and place this jar file (as well as xercesImpl.jar and xml-apis.jar files) in the new directory. If you have the JRE installed, simply double clicking on the file should run the program.
Feb. 29, 2004 – This program has also now been completely re-written. The interface has been redone to make its operation a little bit more slick. I've removed the functionality that lets uses edit the tree representation of the XML file. This will be re-introduced later. To compensate though, when a file is read in, the text is placed in a text area. This text area remains editable, and refreshing the view will result in reparsing the XML file.
I plan to make the program use an MDI interface, and eventually support XSLT. It would also be nice to be able to use this tool to grab files off of the internet and open them up.
Mar. 3, 2004 – The MDI interface is now up and running, along with a few of the other planned bells and whistles. The program can now use the Xalan 2 XSLT engine to perform XSLT tranformations to XML documents. The results are assumed to be HTML and rendered (a simple error message will appear if they aren't). The program is also capable of opening documents on the web given a URL.
XMLTree.jarThis project is an attempt at creating a very good way of keeping track of just about anything you ever wanted to write down. It starts out with a blank screen, and lets you add tabs and name them. Each tab can hold more tabs, lists, text, or tables. The idea is that you can organize all of the things you need to keep track of via the tabs, and then keep the actual data in the lists, text, and tables. I also tried to create it in such a way that it is extensible and more "data holding widgets" can be added later. This program uses XML to save all of the data, so you'll need the mentioned files.
As with most of my projects, there are no install scripts. Simply unzip the file below (it will unzip into its own directory) and place xercesImpl.jar and xml-apis.jar in that same directory. Now double click on DocumentCommander.jar and everything should work!
DocCmdr.zip