16

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

Cheers.

burntsugar
  • 57,360
  • 21
  • 58
  • 81

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
  • 17,131
  • 3
  • 38
  • 60
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,901
  • 4
  • 30
  • 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
  • 43,583
  • 4
  • 41
  • 61
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,443
  • 1
  • 22
  • 28
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
  • 664
  • 11
  • 26