JCool Text Editor
This was the final group project for my software design class that I took as a sophomore. It was written in Java using the Swing GUI toolkit.
To be perfectly blunt, the class was a bit of a disaster. It was taught by an interim professor who didn’t really seem to care, the CSci lab was hit by some major problems part way through the semester which broke several of our testing tools, and we used a wiki-based project tracker that lost a bunch of our tracking data.
All was not lost however, we were able to finish the project on time, and even implement a lot of the extra features that we wanted. It had a directory tree in a side panel so that you could easily open and browse files, tabbed editing, and syntax highlighting for several languages. We had thought it would be cool to allow collaborative editing, but we only got as far as allowing documents to be shared over the network and implementing integrated IM functionality.
You can see what’s left of our project’s tracker here.
Lessons Learned:
- Not a fan of Swing. It’s slow, buggy, and the API isn’t terribly consistent. Having used other GUI libraries like Cocoa and GTK+, Swing seems pretty immature. I’d want to look into SWT before writing another Java GUI app.
- Testing is important! We really drug our feet at the whole testing idea at first, but when we got farther in the project and didn’t have the ability to test anymore, it became difficult to integrate peoples changes.