Well, to put it simply there is no need to reinvent the wheel, that's why LibGDX, Slick2D and many other Java game engines exist.
Those libraries have been extensively tested by a large audience so there are almost no bugs, most of their functions are highly optimized but they still provide you a nice high-level interface for interacting with hardware and they're highly portable with many options (LibGDX has like 5 or 6 rendering backends and can be used to export to desktop, web, Android and iOS).
Most of the people here who make their own engines (me included) only do it for the learning experience. Once you're over that and you fully understand what's going on under the hood of a game framework there is really no benefit in rolling your own engine. I wrote like 3 game engines since I've started my game development journey, none of which comes close to the functionality to the above mentioned frameworks even though I put a lot of time and effort into them.
You have to choose what you're interested in: Making engines or making games.
It's really hard and time consuming to do both at the same time.