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

标签 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);

最佳答案

(更新帖子)

尝试使用 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);

关于java - 在 JPanel 中插入 JLabel 不会将其置于顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14752860/

相关文章:

java - Java 线程的恼人行为

java - 通过本地 IP 使用 Tomcat 访问 Web 应用程序 URL 时出现 404 错误,但可以正常使用外部 IP

java - 从 XML 保存/加载 jFreechart TimeSeriesCollection 图表

java - 扩展 AbstractTableModel 中的自定义 setValueAt 方法

java - 刷新 JTable 无法正确显示数据

java - 如何在JPanel上使用GridLayout显示图像?

java - 应用程序为 "Force Closed"时是否有任何关闭 Hook ?

java - JTable 复选框仅在选中复选框时更改

java - 您不需要 Canvas 或 JPanel 来绘图吗?

java - Java中Swing中右键单击节点添加弹出菜单