Hey, congrats on improving on your previous game! This is still rough around the edges, of course, but it’s a more complete package.
You might have better luck with an engine a bit more tuned for games than hand-rolling your own in Java. My personal recommendation for the types of games you’ve made so far is Pico-8, or TIC-80 if the price of Pico-8 is a barrier for you. These do more of the input handling and rendering for you, while providing asset editors for pixel art and chiptunes, so you might spend less time writing a basic input-handling engine itself.