Icone do programa duplicando ao abrir?

Sou iniciante em Java, tenho um pouco de conhecimento em PHP e C++, nada tão incrível. Uso bastante a comunidade para pegar informações sobre métodos que posso usar em meu desenvolvimento e sempre encontro as soluções para meus problemas, mas o problema que informarei abaixo ainda não encontrei nada que pudesse ajudar.

Estou fazendo um projeto de automação para um TCC que preciso entregar ao final deste ano. Caso alguém tenha interesse eu posso estar informando do que se trata o projeto, mas fica como opcional, já que o foco não é este.
Pois bem, estou fazendo um sistema bem básico para gerenciar e registrar acessos, além de comunicar diretamente com uma plataforma Arduino. Aos poucos estou criando e programando as telas do sistema, buscando sempre estudar nos períodos livres.

Bom, o problema até o presente momento está sendo o seguinte:
Algumas vezes quando abro o sistema, seja pelo arquivo compilado externo ou rodando dentro do próprio NetBeans, me deparo com uma duplicação no ícone do aplicativo, dando a entender que há duas janelas do programa rodando ao mesmo tempo.
Como podem ver no print anexado, verifiquei a existência de um processo duplicado, o que me indicaria que a aplicação está executando duas janelas ao iniciar.

Eu gostaria de saber o que pode ser esse tipo de acontecimento, se é normal, se preciso mudar alguma configuração, ou se realmente está acontecendo algo de errado e pode prejudicar o andamento do sistema. Ainda não estou nem 30% concluído do que planejo fazer, então queria evitar prolongar esse problema por mais tempo, o que poderia ser difícil de resolver posteriormente quando a aplicação estiver mais avançada.

Se quiserem informações adicionais do código ou algo do tipo, podem me pedir que irei disponibilizar.
Obrigado desde já.

Segue print:

Sem ver como você abriu as janelas da sua aplicação, fica difícil dizer. Se puder, mostre o seu código, na parte que as janelas são criadas.

Uma das possíveis causas para isso é você ter dois JFrames abertos ao mesmo tempo na sua aplicação, o que faz que cada JFrame tenha um ícone na barra de tarefas. Se você precisa de um sistema com mais de uma janela, recomendo ter uma principal (um JFrame) e todas as demais serem de outro tipo (JDialog, JInternalFrame).

Abraço.

Pois bem, estou trabalhando da seguinte forma:
Tenho todo meu sistema em MDI, tendo todas minhas telas sendo JInternalFrame.
Somente a tela principal é JFrame, a tela principal contem um JDesktopPanel.

Estou iniciando o sistema na tela principal (JFrame), ao abrir a tela, a principal permanece oculta e é chamado um JDialog Modal com um form de login conectado ao banco de dados, sendo o login verificado ele fecha com um dispose e somente depois ele abre a tela principal.
Não sei se o problema está aí, talvez seja esse form de login que continue aberto e mostrando o ícone duplicado na barra.

Segue o código da tela principal

package view;

/**
*

  • @author Israel Xabregas
    */
    public class Principal extends javax.swing.JFrame {

    public Principal() {
    initComponents();
    this.setExtendedState(MAXIMIZED_BOTH);
    Login tlm = new Login(this, true);
    tlm.setVisible(true);

    }

    @SuppressWarnings("unchecked")
    

    //
    private void initComponents() {

     DesktopAmbient = new javax.swing.JDesktopPane();
     jMenuBar1 = new javax.swing.JMenuBar();
     Menu_Arquivo = new javax.swing.JMenu();
     SubMenu_Conectar = new javax.swing.JMenuItem();
     SubMenu_Desconectar = new javax.swing.JMenuItem();
     SubMenu_Preferecias = new javax.swing.JMenuItem();
     SubMenu_Logout = new javax.swing.JMenuItem();
     SubMenu_Sair = new javax.swing.JMenuItem();
     Menu_Usuarios = new javax.swing.JMenu();
     SubMenu_CadUsuario = new javax.swing.JMenuItem();
     SubMenu_GerUsuario = new javax.swing.JMenuItem();
     SubMenu_MonitPortas = new javax.swing.JMenu();
     SubMenu_IniciarMonit = new javax.swing.JMenuItem();
     SubMenu_ControleRemoto = new javax.swing.JMenu();
     SubMenu_ControlPortas = new javax.swing.JMenuItem();
     SubMenu_RegAcessos = new javax.swing.JMenu();
     SubMenu_AcessarReg = new javax.swing.JMenuItem();
     SubMenu_GerenciarReg = new javax.swing.JMenuItem();
     SubMenu_GerenciamentoCards = new javax.swing.JMenu();
     SubMenu_CadastrarCard = new javax.swing.JMenuItem();
     SubMenu_GerenciarCard = new javax.swing.JMenuItem();
     SubMenu_GravarCard = new javax.swing.JMenuItem();
    
     setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
     setTitle("CMGP V0.1 - Central de Monitoramento e Gerenciamento de Portas");
    
     javax.swing.GroupLayout DesktopAmbientLayout = new javax.swing.GroupLayout(DesktopAmbient);
     DesktopAmbient.setLayout(DesktopAmbientLayout);
     DesktopAmbientLayout.setHorizontalGroup(
         DesktopAmbientLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
         .addGap(0, 761, Short.MAX_VALUE)
     );
     DesktopAmbientLayout.setVerticalGroup(
         DesktopAmbientLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
         .addGap(0, 482, Short.MAX_VALUE)
     );
    
     Menu_Arquivo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/page.png"))); // NOI18N
     Menu_Arquivo.setText("Arquivo");
     Menu_Arquivo.setToolTipText("");
     Menu_Arquivo.setName(""); // NOI18N
    
     SubMenu_Conectar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/connect.png"))); // NOI18N
     SubMenu_Conectar.setText("Conectar");
     SubMenu_Conectar.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             SubMenu_ConectarActionPerformed(evt);
         }
     });
     Menu_Arquivo.add(SubMenu_Conectar);
    
     SubMenu_Desconectar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/disconnect.png"))); // NOI18N
     SubMenu_Desconectar.setText("Desconectar");
     SubMenu_Desconectar.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             SubMenu_DesconectarActionPerformed(evt);
         }
     });
     Menu_Arquivo.add(SubMenu_Desconectar);
    
     SubMenu_Preferecias.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/wrench.png"))); // NOI18N
     SubMenu_Preferecias.setText("Preferencias");
     Menu_Arquivo.add(SubMenu_Preferecias);
    
     SubMenu_Logout.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/user_gray.png"))); // NOI18N
     SubMenu_Logout.setText("Logout");
     Menu_Arquivo.add(SubMenu_Logout);
    
     SubMenu_Sair.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/door_out.png"))); // NOI18N
     SubMenu_Sair.setText("Sair");
     SubMenu_Sair.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             SubMenu_SairActionPerformed(evt);
         }
     });
     Menu_Arquivo.add(SubMenu_Sair);
    
     jMenuBar1.add(Menu_Arquivo);
    
     Menu_Usuarios.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/user.png"))); // NOI18N
     Menu_Usuarios.setText("Usuários do Sistema");
    
     SubMenu_CadUsuario.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F3, 0));
     SubMenu_CadUsuario.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/user_add.png"))); // NOI18N
     SubMenu_CadUsuario.setText("Cadastrar Usuário");
     SubMenu_CadUsuario.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             SubMenu_CadUsuarioActionPerformed(evt);
         }
     });
     Menu_Usuarios.add(SubMenu_CadUsuario);
    
     SubMenu_GerUsuario.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F4, 0));
     SubMenu_GerUsuario.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/user_edit.png"))); // NOI18N
     SubMenu_GerUsuario.setText("Gerenciar Usuários");
     SubMenu_GerUsuario.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             SubMenu_GerUsuarioActionPerformed(evt);
         }
     });
     Menu_Usuarios.add(SubMenu_GerUsuario);
    
     jMenuBar1.add(Menu_Usuarios);
    
     SubMenu_MonitPortas.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/door_open.png"))); // NOI18N
     SubMenu_MonitPortas.setText("Monitoramento de Portas");
    
     SubMenu_IniciarMonit.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/monitor.png"))); // NOI18N
     SubMenu_IniciarMonit.setText("Iniciar Monitoramento");
     SubMenu_MonitPortas.add(SubMenu_IniciarMonit);
    
     jMenuBar1.add(SubMenu_MonitPortas);
    
     SubMenu_ControleRemoto.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/joystick.png"))); // NOI18N
     SubMenu_ControleRemoto.setText("Controle Remoto");
    
     SubMenu_ControlPortas.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/transmit_blue.png"))); // NOI18N
     SubMenu_ControlPortas.setText("Controlar Portas");
     SubMenu_ControleRemoto.add(SubMenu_ControlPortas);
    
     jMenuBar1.add(SubMenu_ControleRemoto);
    
     SubMenu_RegAcessos.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/date.png"))); // NOI18N
     SubMenu_RegAcessos.setText("Registro de Acessos");
    
     SubMenu_AcessarReg.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/page_find.png"))); // NOI18N
     SubMenu_AcessarReg.setText("Acessar Registro");
     SubMenu_AcessarReg.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             SubMenu_AcessarRegActionPerformed(evt);
         }
     });
     SubMenu_RegAcessos.add(SubMenu_AcessarReg);
    
     SubMenu_GerenciarReg.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/page_edit.png"))); // NOI18N
     SubMenu_GerenciarReg.setText("Gerenciar Registros");
     SubMenu_RegAcessos.add(SubMenu_GerenciarReg);
    
     jMenuBar1.add(SubMenu_RegAcessos);
    
     SubMenu_GerenciamentoCards.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/lightning.png"))); // NOI18N
     SubMenu_GerenciamentoCards.setText("Gerenciamento de Cartões");
    
     SubMenu_CadastrarCard.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/shape_square_add.png"))); // NOI18N
     SubMenu_CadastrarCard.setText("Cadastrar Novo");
     SubMenu_CadastrarCard.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             SubMenu_CadastrarCardActionPerformed(evt);
         }
     });
     SubMenu_GerenciamentoCards.add(SubMenu_CadastrarCard);
    
     SubMenu_GerenciarCard.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/shape_square_edit.png"))); // NOI18N
     SubMenu_GerenciarCard.setText("Gerenciar Cartões");
     SubMenu_GerenciarCard.addActionListener(new java.awt.event.ActionListener() {
         public void actionPerformed(java.awt.event.ActionEvent evt) {
             SubMenu_GerenciarCardActionPerformed(evt);
         }
     });
     SubMenu_GerenciamentoCards.add(SubMenu_GerenciarCard);
    
     SubMenu_GravarCard.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/shape_square_go.png"))); // NOI18N
     SubMenu_GravarCard.setText("Gravar Cartão");
     SubMenu_GerenciamentoCards.add(SubMenu_GravarCard);
    
     jMenuBar1.add(SubMenu_GerenciamentoCards);
    
     setJMenuBar(jMenuBar1);
    
     javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
     getContentPane().setLayout(layout);
     layout.setHorizontalGroup(
         layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
         .addComponent(DesktopAmbient)
     );
     layout.setVerticalGroup(
         layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
         .addComponent(DesktopAmbient)
     );
    
     pack();
     setLocationRelativeTo(null);
    

    }//

    private void SubMenu_SairActionPerformed(java.awt.event.ActionEvent evt) {

    System.exit(0);
    

    }

    private void SubMenu_ConectarActionPerformed(java.awt.event.ActionEvent evt) {

     // CÓDIGO SUB MENU CONECTAR
    

    }

    private void SubMenu_CadUsuarioActionPerformed(java.awt.event.ActionEvent evt) {

     CadastrarUsuario StrCadUser = new CadastrarUsuario();
     DesktopAmbient.add(StrCadUser);
     StrCadUser.setVisible(true);
    

    }

    private void SubMenu_GerUsuarioActionPerformed(java.awt.event.ActionEvent evt) {

     GerenciarUsuarios StrGerUser = new GerenciarUsuarios();
     DesktopAmbient.add(StrGerUser);
     StrGerUser.setVisible(true);
     StrGerUser.setPosition();
    

    }

    private void SubMenu_DesconectarActionPerformed(java.awt.event.ActionEvent evt) {

     // CÓDIGO SUB MENU DESCONECTAR
    

    }

    private void SubMenu_GerenciarCardActionPerformed(java.awt.event.ActionEvent evt) {

     GerenciarCartoes StrGerCards = new GerenciarCartoes();
     DesktopAmbient.add(StrGerCards);
     StrGerCards.setVisible(true); 
    

    }

    private void SubMenu_AcessarRegActionPerformed(java.awt.event.ActionEvent evt) {

     RegistroAcessos StrRegAcessos = new RegistroAcessos();
     DesktopAmbient.add(StrRegAcessos);
     StrRegAcessos.setVisible(true);  
    

    }

    private void SubMenu_CadastrarCardActionPerformed(java.awt.event.ActionEvent evt) {

     CadastrarCartoes StrCadCartoes = new CadastrarCartoes();
     DesktopAmbient.add(StrCadCartoes);
     StrCadCartoes.setVisible(true);
    

    }

    public static void main(String args[]) {

     try {
         for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
             if ("Nimbus".equals(info.getName())) {
                 javax.swing.UIManager.setLookAndFeel(info.getClassName());
                 break;
             }
         }
     } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
         java.util.logging.Logger.getLogger(Principal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
     }
    
     /* Create and display the form */
     java.awt.EventQueue.invokeLater(() -> {
         new Principal().setVisible(true);
     });
    

    }

E aqui o código da tela de Login:

package view;

import java.awt.event.KeyEvent;
import javax.swing.JOptionPane;
import model.dao.LoginDAO;

/**
*

  • @author Israel Xabregas
    */
    public class Login extends javax.swing.JDialog {

    /**

    • Creates new form Login
    • @param parent
    • @param modal
      */

    public Login(java.awt.Frame parent, boolean modal) {
    super(parent, modal);
    initComponents();
    this.setDefaultCloseOperation(0);

    }

    /**

    • This method is called from within the constructor to initialize the form.

    • WARNING: Do NOT modify this code. The content of this method is always

    • regenerated by the Form Editor.
      */
      @SuppressWarnings(“unchecked”)
      //
      private void initComponents() {

      PopupMenu1 = new javax.swing.JPopupMenu();
      Sair = new javax.swing.JMenuItem();
      Panel_Login = new javax.swing.JPanel();
      Logo_Login = new javax.swing.JLabel();
      Text_User = new javax.swing.JLabel();
      TextLabel_RM = new javax.swing.JTextField();
      Text_Senha = new javax.swing.JLabel();
      PassLabel_Senha = new javax.swing.JPasswordField();
      Button_Entrar = new javax.swing.JButton();
      Button_Sair = new javax.swing.JButton();

      Sair.setText(“Sair”);
      Sair.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      SairActionPerformed(evt);
      }
      });
      PopupMenu1.add(Sair);

      setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
      setTitle(“CMGP V0.1 - Login”);
      setModal(true);

      Logo_Login.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/Logo_Login.png"))); // NOI18N

      Text_User.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/user_icon.png"))); // NOI18N
      Text_User.setText(“RM”);

      TextLabel_RM.addKeyListener(new java.awt.event.KeyAdapter() {
      public void keyPressed(java.awt.event.KeyEvent evt) {
      TextLabel_RMKeyPressed(evt);
      }
      });

      Text_Senha.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/Password_icon.png"))); // NOI18N
      Text_Senha.setText(“Senha”);

      PassLabel_Senha.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      PassLabel_SenhaActionPerformed(evt);
      }
      });
      PassLabel_Senha.addKeyListener(new java.awt.event.KeyAdapter() {
      public void keyPressed(java.awt.event.KeyEvent evt) {
      PassLabel_SenhaKeyPressed(evt);
      }
      });

      Button_Entrar.setText(“Entrar”);
      Button_Entrar.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      Button_EntrarActionPerformed(evt);
      }
      });

      Button_Sair.setText(“Sair”);
      Button_Sair.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      Button_SairActionPerformed(evt);
      }
      });

      javax.swing.GroupLayout Panel_LoginLayout = new javax.swing.GroupLayout(Panel_Login);
      Panel_Login.setLayout(Panel_LoginLayout);
      Panel_LoginLayout.setHorizontalGroup(
      Panel_LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(Panel_LoginLayout.createSequentialGroup()
      .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addGroup(Panel_LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
      .addGroup(Panel_LoginLayout.createSequentialGroup()
      .addComponent(Button_Sair, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGap(18, 18, 18)
      .addComponent(Button_Entrar, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGroup(Panel_LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
      .addComponent(PassLabel_Senha, javax.swing.GroupLayout.DEFAULT_SIZE, 258, Short.MAX_VALUE)
      .addComponent(Text_Senha)
      .addComponent(Text_User)
      .addComponent(TextLabel_RM)))
      .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGroup(Panel_LoginLayout.createSequentialGroup()
      .addContainerGap(119, Short.MAX_VALUE)
      .addComponent(Logo_Login)
      .addContainerGap(119, Short.MAX_VALUE))
      );
      Panel_LoginLayout.setVerticalGroup(
      Panel_LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(Panel_LoginLayout.createSequentialGroup()
      .addGap(35, 35, 35)
      .addComponent(Logo_Login)
      .addGap(47, 47, 47)
      .addComponent(Text_User)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(TextLabel_RM, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGap(18, 18, 18)
      .addComponent(Text_Senha)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(PassLabel_Senha, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGap(18, 18, 18)
      .addGroup(Panel_LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(Button_Entrar)
      .addComponent(Button_Sair))
      .addContainerGap(46, Short.MAX_VALUE))
      );

      javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
      getContentPane().setLayout(layout);
      layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(Panel_Login, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      );
      layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(Panel_Login, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      );

      Panel_Login.getAccessibleContext().setAccessibleName("");

      pack();
      setLocationRelativeTo(null);
      }//

    private void Button_EntrarActionPerformed(java.awt.event.ActionEvent evt) {

     LoginDAO dao = new LoginDAO();
    
     if (TextLabel_RM.getText().isEmpty()) {
    
         JOptionPane.showMessageDialog(null, "Preencher Campo de Usuário");
    
     } else if (PassLabel_Senha.getText().isEmpty()) {
    
         JOptionPane.showMessageDialog(null, "Preencher Campo de Senha");
    
     } else {
    
         if (dao.checkLogin(TextLabel_RM.getText(), new String(PassLabel_Senha.getPassword()))) {
    
             this.dispose();
    
         } else {
    
             JOptionPane.showMessageDialog(null, "Usuário ou Senha Inválidos!");
    
         }
    
     }
    

    }

    private void PassLabel_SenhaActionPerformed(java.awt.event.ActionEvent evt) {

    }

    private void SairActionPerformed(java.awt.event.ActionEvent evt) {

     System.exit(0);
    

    }

    private void PassLabel_SenhaKeyPressed(java.awt.event.KeyEvent evt) {

     if (evt.getKeyCode() == KeyEvent.VK_ENTER) {     // SE O ENTER FOR PRESSIONADO
    
         LoginDAO dao = new LoginDAO();
    
         if (TextLabel_RM.getText().isEmpty()) {
    
             JOptionPane.showMessageDialog(null, "Preencher Campo de Usuário");
    
         } else if (PassLabel_Senha.getText().isEmpty()) {
    
             JOptionPane.showMessageDialog(null, "Preencher Campo de Senha");
    
         } else {
    
             if (dao.checkLogin(TextLabel_RM.getText(), new String(PassLabel_Senha.getPassword()))) {
    
                 this.dispose();
    
             } else {
    
                 JOptionPane.showMessageDialog(null, "Usuário ou Senha Inválidos!");
    
             }
    
         }
    
     }
    
     if (evt.getKeyCode() == KeyEvent.VK_ESCAPE) {       // SE O ESC FOR PRESSIONADO
    
         System.exit(0);
    
     }
    

    }

    private void Button_SairActionPerformed(java.awt.event.ActionEvent evt) {

     System.exit(0);
    

    }

    private void TextLabel_RMKeyPressed(java.awt.event.KeyEvent evt) {

     if (evt.getKeyCode() == KeyEvent.VK_ESCAPE){
     
           System.exit(0);
     
     }
    

    }

    /**

    • @param args the command line arguments
      /
      public static void main(String args[]) {
      /
      Set the Nimbus look and feel /
      //
      /
      If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

      • For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
        */
        try {
        for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
        if (“Nimbus”.equals(info.getName())) {
        javax.swing.UIManager.setLookAndFeel(info.getClassName());
        break;
        }
        }
        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(Login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //

      //

      /* Create and display the dialog */
      java.awt.EventQueue.invokeLater(() -> {
      Login dialog = new Login(new javax.swing.JFrame(), true);
      dialog.addWindowListener(new java.awt.event.WindowAdapter() {
      @Override
      public void windowClosing(java.awt.event.WindowEvent e) {
      System.exit(0);
      }
      });
      dialog.setVisible(true);
      });
      }

Você tem dois métodos main. Seria melhor ter um só, pra não se confundir.

Note que, na sua tela de login, ao criar o dialog, o primeiro parâmetro é um JFrame (o parent do dialog). Esse JFrame deve ser a causa do seu problema, pois você o cria anonimamente, mas ele é mantido pelo Java. O parent do seu Dialog deveria ser o JFrame principal, não esse JFrame anônimo.

Use o main da classe principal e crie lá seu dialog, tendo como parent o Jframe principal.

Abraço.

Seria possível dar um exemplo em código para melhor entendimento?
Como disse sou bastante iniciante. kk

Aqui que ele ele está criando o JFrame anônimo?
Como devo proceder?

java.awt.EventQueue.invokeLater(() -> {
Login dialog = new Login(new javax.swing.JFrame(), true);
dialog.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
}
});
dialog.setVisible(true);
});

Sim, é por aí:

Login dialog = new Login(new javax.swing.JFrame(), true); // nessa linha, está sendo criado um JFrame

Note o new javax.swing.JFrame(). Isso cria uma janela que não está sendo usada pra nada, mas, sendo um JFrame, provavelmente gera um ícone na barra de tarefas.

O que você precisa é criar esse Dialog de login juntamente da classe Principal. Você pode fazer isso no main ou no construtor da classe Principal. No main, seria algo parecido com isso:

public static void main(String args[]) {
    // ... código resumido    
    /* Create and display the form */
    java.awt.EventQueue.invokeLater(() -> {
        Principal principal = new Principal();
        Login login = new Login(principal, true);
        login.setVisible(true);
    });
}

E na sua classe de Login, se o usuário fizer Login corretamente, você torna a janela principal visível ( principal.setVisible(true) ). Se ele não logar, você fecha a aplicação.

Abraço.

Quando voltar da aula eu verifico o código e tento implementar a alteração.
Se der certo ou ocorrer um novo problema, eu retorno.

Obrigado pela ajuda. Abç!