I like to program in Java.

Java is pretty neat. A lot of people tend to focus on the fact that Java is (supposedly) platform independent - it's not really, but that is more a flaw in the world than a flaw in the language. It is similar (but opposite) to the way HTML is meant to be properly viewed by any HTML browser (which isn't always the case). The problem comes when someone, like, say, EG, comes along, uses some fancy editor and make pictures of text that look just right... at his viewer settings. Rather than tell the browser what words he wants to show, he tells the browser exactly how he wants the words shown and arranged. The whole point of HTML is that a good browser decides how to show the words according to the way its user has configured it. The problem with webpages lies in the writing of the "software" (meaning the pages, not the browsers).
With Java, it is the other way around (the problem, that is); again, it is a situation where, rather than telling the system how to write words / draw components / execute code, Java programs tell the local virtual machine what it wants to show/do and leave it up to the local host to decide exactly how to execute the commands. Unfortunately, many virtual machines are not up to snuff (unlike the fine HTML browsers on the "market"); essentially, there are many cases where they just don't do what they're told. This is not to say that there aren't EG-like (sorry to single you out here, but hey, you can take it...) Java programmers out there (like, say, me), but the problem isn't as rampant as with HTML. As the virtual machines are improved / chastised the platform-independence will likewise improve.
This deficiency in the area of platform-independence is cited by some as a condemnation of the whole language, but I feel that the main advantage of Java is the (relative) ease of network programming. I tend to feel that any platform-independence I achieve is just a bonus. Bear this in mind when you try to run any of my code on a Mac.

To truly understand the magnitude of the preceding argument, you must be aware that I have never done any real programming in any language other than Java, so take my opinion with two handsfull of salt (enough to kill an ordinary adult human if consumed in one sitting).

I hope that that is enough defensive ranting to ward off any negative comments, so on with the show...

The first applet I wrote (in 1.0) is a little scribble thingy. Please bear in mind that a) it's in 1.0, so really, what do you expect? and b) it's the first applet I wrote, so really, what do you expect?
Scribble Thingy

Shortly after my first efforts, I decided to write an applet that wasn't just a flash in the pan type of program. Still in 1.0, I wrote a server that allows people to enter data in one applet and read it (and everyone elses) in another. Whee. Again, it is of mediocre quality at best - once more partially due to the constraints of 1.0; I was impressed more by my use of sockets than anything else. Here I first ran into problems with incorrectly specified virtual machines; scroll bars behave differently on the Netscape implementation than on Sun's applet viewer (an extra "page" was added by Netscape's). The server is probably not running, so you're in for some disappointment if you try to use this one... Enjoy!
Data Entry
Output

By far my best and most complete applet so far, The Game of Advanced Life brilliantly outshines my previous endeavours. I set it up in a frame so that it can be run either as an applet or an application. It also allows me to just have a button as the applet, so it can be tastefully inserted into a webpage so that the slow/troglodytic/Java-denouncing among us don't complain about the page taking forever to load; nobody likes intrusive applets scattered throughout webpages (Exhibit A (entries 10,14,21)).
The Game of Advanced Life

Show's over. Go home.