在JPanel中插入JLabel不会将其置于顶部

时间:2013-02-07 13:57:40

标签: java swing jpanel jlabel

我正在尝试在JPanel元素中插入包含图像的JLabel。结果有点令人惊讶,因为图像(即JLabel)不是直接放在JPanel的顶部,而是在...之前有一个空行。

有没有办法把它放在(0,0)而不是(0,1)?

这是我的代码:

Image i; // une image donnée

JFrame f = new JFrame();
f.setTitle("test");
f.setSize(i.getWidth(null), i.getHeight(null));
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.setResizable(false);
f.setAlwaysOnTop(false);
f.setUndecorated(false);

JPanel pan = new JPanel();

JLabel l = new JLabel(new ImageIcon(i));
pan.add(l);

f.setContentPane(pan);     
f.setVisible(true);

1 个答案:

答案 0 :(得分:1)

(更新后的帖子)

尝试使用f.add(pan)代替f.setContentPane(pan)

(旧帖)

JLabel l = new JLabel(new ImageIcon(i));
f.add(l);

我认为您打算将其添加到面板中:

JLabel l = new JLabel(new ImageIcon(i));
pan.add(l);