After doing some tests it seems that the error you are getting is caused because the image you are trying to draw has not been loaded by the first time you try to draw the image on the window.
The error handling within the swing components will handle the error for you though you should put a try catch statement around where you draw the image to catch this error yourself, like so:
try {
g2.drawImage(this.nowBg.getBgImage(), x, 0, this);
} catch (Exception e) {
e.printStackTrace(); //optional for seeing the error message
}
After looking at you code there are a few other recommendations that I came up with that can help your current program and your programming skills overall.
Don't have variables that are both public and static unless its going to be final or readonly. It's a general programming rule that applies to multiple languages and generally makes it tougher to implement and maintain a more complex program.
When you are creating the background classes within your GameWindow class you are essentially duplicating the images that were loaded in the StaticValue class. This essentially makes the loading time longer and increases memory usage for no gain. Try loading and using the images within only a single class rather than multiple.