Thanks!! Yep, it's from scratch. For each room, I'm basically defining a random (within limits) upper-left coordinate, then a lower-right (based on the upper-left) and then drawing each wall and filling the room.
Ok, I understand. I don't know if you have ideas to connect rooms or avoid overlapping but this guy posted short example about thing he put on his game "Red Rogue"(Thought they are in flash, but the syntax is similar to java). One of them is an algorithm for dungeon generator.
Here is the link if you want to take a look.
http://forums.tigsource.com/index.php?topic=8467.0