Tela de login

Boa noite Galera.

Preciso criar uma tela de login da seguinte forma:

Será aberta uma primeira tela, onde estará o logo da empresa e etc. cuja mesma se ajusta ao tamanho do monitor. Em segundo plano, deverá aparecer uma tela menor sobreposta á esta tela de fundo. A tela menor contém os campos á serem preenchidos e os botões de ok, cancelar e etc.

1º Ponto. Da maneira que estou fazendo, é aberta a tela de fundo , mas a tela menor aparece rapidinho mas não fica exposta sobre a tela maior.

2º Ponto. Como faço para que ao fechar a tela menor, a tela maior de fundo também seja fechada?

Segue o código abaixo. Se puderem me ajudar, agradeço de montão!

package Operacao;

public class FormAces extends javax.swing.JFrame
{
public FormAces()
{
componentes();

    Login log = new Login(); // Onde Login, é a tela menor onde possuem os campos á serem preenchidos
    log.setVisible(true);
}

public void componentes()
{
    setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
    setLocationRelativeTo(null);
    setLocationByPlatform(true);
    setResizable(true);
    setExtendedState(FormAces.MAXIMIZED_BOTH);
    
          
    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup
    (
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 400, Short.MAX_VALUE)
    );
    
    layout.setVerticalGroup
    (
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGap(0, 300, Short.MAX_VALUE)
    );

    pack();
}

da um setVisible(false) nas duas, se não funcionar tenta um dispose().

Não tenho como testar agora, mas no caso da primeira dúvida, tente colocar o código “log.setVisible(true);” no final, acredito q dessa forma a janela menor irá sobrepor a maior.
Na segunda dúvida, se vc quer fechar o sistema todo, tente “System.exit(0)”.

Nessas linhas:

setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setLocationRelativeTo(null); setLocationByPlatform(true); setResizable(true); setExtendedState(FormAces.MAXIMIZED_BOTH);

o DISPOSE_ON_CLOSE fecha somente a janela atual, tenta mudar para EXIT_ON_CLOSE, assim, quando você fechar, fecha as duas

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setLocationRelativeTo(null); setLocationByPlatform(true); setResizable(true); setExtendedState(FormAces.MAXIMIZED_BOTH);

Olá Galera.

Obrigado pelas dicas.

O segundo ponto da minha dúvida Eu consegui matar. Mas o primeiro ainda me causa problemas. Alguém teria algo mais específico, sobre como fazer a tela log permanecer visível sobre a tela de fundo?

Obrigado.