Exibição de componentes

Estou usando um JFrame undecorated e adiciono meus componentes (visiveis) no content Pane do frame.
Infelizmente quando ele exibe o frame, não vejo nada. Porém se eu mover a janela, alguns elementos aparecem. E se eu mudar seu tamanho recebo uma execessão de ponteiro nulome acusando erro na parte do look and feel.
Tudo usando Swing (e não SWT).
Alguma sugestão? O código está meio grande pra eu postar mas aí vai o que eu acho q é o essencial. Os itens adicionados no layout estão devidamente inicializados e visiveis.

    public GUI(ComponentListener controle) {
        instancia = new JFrame("Trabalho");
        instancia.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
        instancia.setAlwaysOnTop(true);
        instancia.setUndecorated(true);
        instancia.setResizable(false);
        instancia.setBounds(1100, 400, 64, 64);
        instancia.addComponentListener(controle);
        instancia.setVisible(true);

        ...

        Container contentPane = this.instancia.getContentPane();
        SpringLayout layout = new SpringLayout();
        Insets in = new Insets(0, 0, 0, 0);
        contentPane.setLayout(layout);
        contentPane.setVisible(true);

        ...

        layout.putConstraint(SpringLayout.NORTH, antigo, 1, SpringLayout.NORTH, contentPane);
        layout.putConstraint(SpringLayout.WEST, antigo, 1, SpringLayout.WEST, contentPane);

        layout.putConstraint(SpringLayout.NORTH, atual, 1, SpringLayout.SOUTH, antigo);
        layout.putConstraint(SpringLayout.WEST, atual, 1, SpringLayout.WEST, contentPane);
        
        layout.putConstraint(SpringLayout.NORTH, proximo, 1, SpringLayout.SOUTH, atual);
        layout.putConstraint(SpringLayout.WEST, proximo, 1, SpringLayout.WEST, contentPane);
        
        layout.putConstraint(SpringLayout.NORTH, display, 1, SpringLayout.SOUTH, atual);
        layout.putConstraint(SpringLayout.WEST, display, 1, SpringLayout.EAST, proximo);
        
        layout.putConstraint(SpringLayout.NORTH, anterior, 1, SpringLayout.SOUTH, atual);
        layout.putConstraint(SpringLayout.EAST, anterior, -1, SpringLayout.EAST, contentPane);
        
        layout.putConstraint(SpringLayout.SOUTH, playstop, -1, SpringLayout.SOUTH, contentPane);
        layout.putConstraint(SpringLayout.WEST, playstop, 1, SpringLayout.WEST, contentPane);
        
        layout.putConstraint(SpringLayout.SOUTH, novoP, -1, SpringLayout.SOUTH, contentPane);
        layout.putConstraint(SpringLayout.WEST, novoP, 1, SpringLayout.EAST, playstop);
        
        layout.putConstraint(SpringLayout.SOUTH, fechando, -1, SpringLayout.SOUTH, contentPane);
        layout.putConstraint(SpringLayout.EAST, fechando, -1, SpringLayout.EAST, contentPane);
     }

Nao sei se pode ser isso, mas eu faria algumas alterações ai;
1o. instancia.setVisible(true); seria a ultima coisa que eu faria no codigo;

2o. contentPane.setVisible(true); não tem por que de existir isso. Ele ta dentro do frame, então vai aparecer qdo o frame aparecer. Por default ja eh true.

E pela cara do seu codigo, acharia melhor vc usar JWindow ao inves de JFrame, ja que vc não usa bordas, nem nada…

flw!

Muito grato! Resolvido!
Era o setVisible da instancia mesmo.
Agora porque nao funciona antes? Se nao é pedir muito… :slight_smile:

E abusando (já que já estou folgado mesmo): Porque usar JWindow e nao JFrame? Quais as vantagens e diferenças?

Muito grato por tudo