I wanted to add background image to my JFrame.
Background image means I can later add Components on the JFrame or JPanel
Although I coudn’t find how to add background image to a JFrame,
I found out how to add background image to a JPanel from here:
How to set background image in Java?
This solved my problem, but now since my JFrame is resizable I want to keep the image in center.
The code I found uses this method
public void paintComponent(Graphics g) { //Draw the previously loaded image to Component.
g.drawImage(img, 0, 0, null); //Draw image
}
Can anyone say how to align the image to center of the JPanel.
As g.drawImage(img, 0, 0, null); provides x=0 and y=0
Also if there is a method to add background image to a JFrame then I would like to know.
Thanks.
Assuming a suitable
image, you can center it like this:If you want the other components to move with the background, you can alter the graphics context’s affine transform to keep the image centered, as shown in this more complete example that includes rotation.