This is looking really nice. I think Java is a good choice, due to being available and installed on pretty much every computer and its a lot faster than some other languages I've been seeing used in engines so far.
An important question for me is, how modular your code is. Is it possible to exchange parts like the battle system or some menus without having to rewrite existing code? I'd be interested in seeing a Pokemon game more optimized for laptops/desktops, thus using the larger screens and higher processing power.