*Warning... little long winded :) *
I myself just started to learn java, and I find the more I learn, the more I like it :) As for your choice of Java 2D, I was wondering if you have looked into OpenGL for Java? May be able to get faster game speeds with that. I wrote myself a little tile map engine a long time ago with DirectDraw7... and then later I converted it to OpenGL when I decided to no longer use MS only code (not flame bait, just personal preference) Anyway... check it out :) If you have any questions on how you could use OpenGL just ask :) mrhodes@hfx.eastlink.ca
Also, you asked about a program for making maps: I used and loved this one, Tile Studio. I just looked up the link for ya: http://tilestudio.sourceforge.net/
Takes a few minutes to figure out, but once you do you will love it. It allows you to customize the output to anything you like. With it you create a script file that will output the map in a text file. Also, it will output a bmp of the tiles your map uses.
I know I've probably given over 2 cents worth of info, but I'll show you a sample of output for my maps...
DQTILES.bmp32 32385 860 30 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 2 0 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 3 4 0 4 4 0 4 4 0 4 4 0 4 4 0 4 4 0 4 4 0 4 4 0 4 4 0 4 4 0 4 4 0 4 4 0 4 4 0 5 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 1 4 0 3 4 0 4 4 0 4 4 0 4 4 0 4 4 0 4 4 0 4 4 0 4 4 0 4 4 0 4 4 0 4 4 0 5 4 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 3 4 0 4 4 0 4 4 0 4 4 0 4 4 0 5 4 0 1 0 0 1 0 0 2 0 0
That is basicaly the first two rows of my map, but you get the idea :)
Email me if you have any questions about it. I'd love to help you out if I can
Mike