Thanks for your answers and sorry for that, I forgot to mention that I'm using Java2D.
Generally I agree with you in all details about Java2D and about its weaknesses, but I will still use it for game programming although it isn't meant for that.
I think the reason why I like to use Java2D is, that it's a real challenge particularly a lot of people say it's too slow, you can't make real games with it, etc... And only because a high amount of people have a rejection against it, when it comes to game programming, it doesn't mean, it's impossible to do it anyway!
I also know, that it will be hard work and much more unpleasant, but I've also achieved good results in the past.
And at the end the most important reason why I'm using it:
It's incredible fun
(just before the 'learning experience').
So everyone else can now make his own come out. I know you all love java2D!
Yeah java2D is usable and kinda easy to use, untill you start asking to render some more heavy stuff.
For a ververy simple platformer its no problem, but try creating some particle effects or even some cpu intensive tasks like collision or ai and you will start feeling really limited.
At that time your probably advanced kinda far with the engine, and it will be a pain to port to the faster solution then.
I also started in java2d and it seems really fun, but it sucs to see your fps go below 60 fps every time you add something.
Nothing beats the raw power of opengl.