Display image in Java JFrame
Solution 1
I would suggest adding it as an ImageIcon:
ImageIcon image = new ImageIcon("image.jpeg");
add(image);
EDIT (How to add it add specific coordinates):
First a note, usually (99% of the cases) it is NOT encouraged to position JComponents yourself. Use a LayoutManager to position them for you, and handle the resizing.
I will tell you how to position it yourself though:
- Set your LayoutManager to
null
:setLayout(null)
. - set your
ImageIcon
to specific coordinates:image.setLocation(x, y)
.
Solution 2
Using an ImageIcon with a JLabel is the easiest way. You can actually add this to a level in JFrame's JLayeredPane that is above or below the contentPane depending on your requirements
Solution 3
Develop a custom component and override paintComponent()
method to do this. Developing a custom component gives you flexibility for further enhancements. You can add panning, zooming, etc type of capabilities easily this way.
Then just add this component to your JFrame
.
Ben Hagel
I'm an enthusiast programmer seeking answers to questions and problems.
Updated on July 19, 2020Comments
-
Ben Hagel almost 4 years
What's the best way to display an image at specific coordinates in a java JFrame?
I know there are a number of ways to do this, I just need to know the best way to display an image that I am planning on moving around the frame!