16

What would be the most appropriate image type to display a jpg image (loaded from a local folder) on a JPanel?

Cheers.

burntsugar
  • 55,934
  • 21
  • 53
  • 80

5 Answers5

29
ImageIcon image = new ImageIcon("image/pic1.jpg");
JLabel label = new JLabel("", image, JLabel.CENTER);
JPanel panel = new JPanel(new BorderLayout());
panel.add( label, BorderLayout.CENTER );
Eugene Ryzhikov
  • 16,684
  • 2
  • 39
  • 56
7

You could use a javax.swing.ImageIcon and add it to a JLabel using setIcon() method, then add the JLabel to the JPanel.

Sean A.O. Harney
  • 23,023
  • 4
  • 28
  • 30
2

I'd probably use an ImageIcon and set it on a JLabel which I'd add to the JPanel.

Here's Sun's docs on the subject matter.

Tom
  • 41,437
  • 4
  • 36
  • 60
1

I would use a Canvas that I add to the JPanel, and draw the image on the Canvas. But Canvas is a quite heavy object, sine it is from awt.

Per Alexandersson
  • 2,373
  • 1
  • 21
  • 27
1

You could also use

ImageIcon background = new ImageIcon("Background/background.png");
JLabel label = new JLabel();
label.setBounds(0, 0, x, y);
label.setIcon(background);

JPanel panel = new JPanel();
panel.setLayout(null);
panel.add(label);

if your working with a absolut value as layout.

Handsken
  • 639
  • 9
  • 26