Olá pessoal!
Sou eu de novo…Acho que vocês já estão até enjoads de mim né?! rssss…
Fazê o que?! Tenho dúvidas…
Ao problema…
Tenho uma tela de login, depois que o usuário se loga, deve-se arir o programa (lógico :roll: ),mas como fechar a tela de login sem fechar o programa inteiro??
Vou postar os códigos…
Essa é a tela de login…
[code]
package login;
import java.awt.;
import java.awt.event.;
import javax.swing.*;
import abertura.Abertura;
public class FrameLogin extends JFrame
{
static JLabel lbLogin,lbSenha,lbFundo;
static JComboBox cbUsuario;
static JPasswordField pfSenha;
static JButton btOk,btCancelar;
javax.swing.ImageIcon icon;
public static void main(String args[])
{
JFrame janela = new FrameLogin();
//janela.setUndecorated(true);
//janela.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
//janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
janela.setVisible(true);
janela.setResizable(false);
}
public FrameLogin()
{
setTitle("Login");
setSize(250,230);
//125
setLocationRelativeTo(null);
getContentPane().setLayout(null);
//*******************************************
java.net.URL fundoUrl = getClass().getResource("imagens/login.png");
icon = new javax.swing.ImageIcon( fundoUrl );
Font fonte = new Font("Serif", Font.BOLD, 25);
//String usuario[]={"Escolha","Administrador"};
//Instanciando os objetos
lbLogin = new JLabel("Login");
cbUsuario = new JComboBox(Login.caregaUsuarios());
lbSenha = new JLabel("Senha");
pfSenha = new JPasswordField();
btOk = new JButton("OK");
btCancelar = new JButton("Cancelar");
lbFundo = new JLabel(icon);
//tamanho e localização dos componentes
lbLogin.setBounds(93,10,65,30);
cbUsuario.setBounds(50,45,150,25);
lbSenha.setBounds(93,85,65,25);
pfSenha.setBounds(50,115,150,25);
btOk.setBounds(18,150,100,25);
btCancelar.setBounds(125,150,100,25);
lbFundo.setBounds(0,0,250,200);
//Aterando fontes
lbLogin.setFont(fonte);
lbSenha.setFont(fonte);
//Adicionando os componentes
getContentPane().add(lbLogin);
getContentPane().add(lbSenha);
getContentPane().add(cbUsuario);
getContentPane().add(pfSenha);
getContentPane().add(btCancelar);
getContentPane().add(btOk);
getContentPane().add(lbFundo);
getContentPane().setBackground(Color.white);
btOk.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String usuario,senha;
usuario = cbUsuario.getSelectedItem().toString();
senha = pfSenha.getText();
if (Login.login(usuario, senha))
{
JFrame janela = new Abertura();
janela.setVisible(true);
fecha();//Tentativa de fechar que não funciona
System.out.println("Tentou fechar");
}
else
JOptionPane.showMessageDialog(null,"Usuário e/ou senha inválidos", "", JOptionPane.WARNING_MESSAGE);
}
});
btCancelar.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
}
public static void fecha()
{
FrameLogin fl = new FrameLogin();
fl.dispose();
}
}[/code]
Quando abrir esta a FrameLogin deve ser fechada…
[code]
package abertura;
import java.awt.;
import java.awt.event.;
import javax.swing.*;
import login.FrameLogin;
public class Abertura extends JFrame
{
/*public static void main(String args[])
{
JFrame janela = new Abertura();
//janela.setUndecorated(true);
//janela.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
janela.setVisible(true);
}*/
public Abertura()
{
setTitle("Base");
setSize(1024,768);
setLocationRelativeTo(null);
getContentPane().setLayout(null);
}
}[/code]
Mas tem como fechar ela e limpar da memória ou ela continuará rodando em background?
Valeu gente e obrigado pela paciência! :thumbup: :thumbup: :thumbup:
Ha…já tinha lido diversos tópicos aqui no guj e não consegui resolver o meu problema…