You can use some kind of JComponent, possibly a JPanel, then override its paintComponent method to do the following:
1) draw the background image
2) draw the other stuff by using bitmasked or translucent images: use the createCompatibleImage(width,height,transparency) method of a GraphicsConfiguration object, where transparency is java.awt.Transparency.BITMASK or .TRANSLUCENT.
Then you can add a mouse/key listener to the JPanel, thus enabling the interaction part. The game can run by continually calling repaint() on the JPanel and update() on whichever class controls the game state (making the sprites move by incrementing positions, velocities, etc.).
You can use more advanced means (active rendering, etc.), but don't try just yet. For the specifics you can consult the API pages which have links to how-to-use-Something tutorials.
I guess you'll have to be more specific if you want more detailed help