ImageLabel未在BorderLayout.NORTH中显示 - Java Swing

时间:2015-01-17 21:33:54

标签: java image label panel jlabel

所以,我有这个BorderLayout框架,在北方有一个面板pnlLogo。在那个小组中,我在标签上有一张图片。问题是:我想把它放在北方的左上角。但是当我setLayout(null)和setbounds时,图像根本没有显示。在正常的流程布局中,它会显示出来。谁知道为什么?

package panels.components;

import java.awt.Color;
import javax.swing.*;

public class Logo extends JPanel{
// Declareren
public JLabel lblLogo;

public Logo(){
    // Layout
    this.setLayout(null);
    this.setBackground(Color.decode("#414141"));

    // Logo -> Label
    ImageIcon image = new ImageIcon("src/media/Logo.jpg");
    lblLogo = new JLabel("", image, JLabel.CENTER);

    // Bounds
    lblLogo.setBounds(10, 10, 210, 84);

    // Panel
    this.add(lblLogo);

}

}

1 个答案:

答案 0 :(得分:1)

为什么不想使用面板的布局? 如果您不希望图像填满整个框架,可以使用

this.setPreferredSize(new Dimension(600, 80));

确保在使用时不使用绝对布局(setLayout(null))。 这是一个有用的方面:click!