Inserir componentes no JFrame com o contentPane setado

2 respostas
Jack_Java

Olá,

O que fazer para inserir componentes no frame, de acordo com o código abaixo:

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JLayeredPane;

public class Teste
{
    public static void main( String[] args )
    {  
        JFrame application = new JFrame( "Programa" );
        JLayeredPane contentPane = new JLayeredPane();
        
        application.setContentPane(contentPane); 
        application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        application.setSize( 600, 400 );
        
        application.add( new JLabel( "Mensagem central" ), BorderLayout.CENTER ); // nao funciona
        application.add( new JLabel( "Mensagem de fundo" ), BorderLayout.SOUTH ); // nao funciona
        
        application.setVisible( true );
    }
}

Porque as linhas que possuem comentário não funcionam?
Obrigado.

2 Respostas

U

Jack Java você deve setar o layout no Jframe.

U

Jack Java só para melhor entendimento, as linhas:

JLayeredPane contentPane = new JLayeredPane();  
          
        application.setContentPane(contentPane);

podem ser removidas do seu código, já que neste caso você está adicionando os elementos diretamente no Jframe.

Isso é interessante ser utilizado quando você possui 2 ou mais JLayeredPane, ou quando por outro motivo você adiciona os elementos no JLayeredPane.

Criado 10 de outubro de 2013
Ultima resposta 17 de out. de 2013
Respostas 2
Participantes 2