2015-01-17 2 views
1

Итак, у меня есть этот кадр BorderLayout с панелью pnlLogo на севере. На этой панели у меня есть изображение в ярлыке. Проблема в том, что я хочу положить ее в левый верхний угол этого севера. Но когда я устанавливаюLayout (null) и setbounds, изображение вообще не отображается. В нормальном режиме потока это показывает. Кто знает, почему?ImageLabel не показан в BorderLayout.NORTH - Java Swing

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

} 

} 
+0

Возможный дубликат [Использование JPanel с нулевым макетом] (http://stackoverflow.com/questions/14982781/using-a-jpanel-with-a-null-layout) – NiematojakTomasz

+0

Да, это ... Спасибо! –

ответ

1

Почему вы не хотите использовать макет панели? Если вы не хочет изображение, чтобы заполнить весь кадр, вы можете использовать

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

Убедитесь, что вам не использовать абсолютное расположение (setLayout (нуль)) при использовании этого. . Полезная сторона: click!

+0

Спасибо, это работает! –

Смежные вопросы