Thinking in Java 3rd Edition is a free online book that covers pretty much everything you need to get started in the language including, but definitely
not limited to, how to code GUIs (in fact, you don't get to that until chapter 14). It's well-written, comes with a lot of example code, and you get a lot out of it, esp. if you're new to java or even OOP in general.
definetely a worthwhile read, even if you're only interested in the part about coding applets and windows.