Bem pessoal estou aqui fazendo um sistema a parte do login está tudo tranquilo
cadastro usuário, ele loga no sistema e tem algumas verificações no banco. Na tela do menu eu passo
a String do login do usuário, mais 1 ImageIcon… e jogo dentro de um JMenu, que está em um JFrame.
Bem o meu problema é que eu quero fazer o Logoff e que o sistema retorne para a tela de Login.
Segue parte do meu código…
Esse é o Menu onde eu passo a String do Login no método construtor
e também jogo a String dentro de uma variável estática.
CLASSE WindowMenu
public static String login;
public WindowMenu(String login) {
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(475,500);
setLocationRelativeTo(null);
controlMenu = new ControlMenu();
setTitle("Menu Principal");
criaJPanelNorth();
setResizable(false);
criaJpanelCentro();
setIconImage(Imagem.IconFrame.getImage());
this.login = login;
criaJmenu(login);
setVisible(true);
}
Esse é o trecho do código do Logout, onde éstá o comentário escrito "Ação Logout"
é que vai ocorrer a ação do logout…
CLASSE ControlMenu
package control;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashMap;
import javax.swing.JOptionPane;
import relatorio.WindowRelatorioCondominio;
import report.PrintReport;
import window.WindowCargo;
import window.WindowCondominio;
import window.WindowCusto;
import window.WindowDespesa;
import window.WindowEmpregado;
import window.WindowEquipamento;
import window.WindowImovel;
import window.WindowInquilino;
import window.WindowItemDespesa;
import window.WindowLogin;
import window.WindowMenu;
import window.WindowReceita;
import window.WindowServico;
import window.WindowTipoCusto;
import window.WindowTipoDespesa;
import window.WindowTipoImovel;
public class ControlMenu implements ActionListener {
private String mensagem, msg;
private PrintReport printReport;
private WindowMenu windowMenu;
private int sn;
private HashMap parametros;
@Override
public void actionPerformed(ActionEvent e) {
Component component = (Component) e.getSource();
if (component.getName().equals("jmiCondominio")
|| component.getName().equals("btnCondominio")) {
WindowCondominio windowCondominio = new WindowCondominio();
}
if (component.getName().equals("jmiTipoImovel")
|| component.getName().equals("btnTipoImovel")) {
WindowTipoImovel windowTipoImovel = new WindowTipoImovel();
}
if (component.getName().equals("jmiCusto")
|| component.getName().equals("btnCusto")) {
WindowCusto windowCusto = new WindowCusto();
}
if (component.getName().equals("jmiDespesa")) {
WindowDespesa windowDespesa = new WindowDespesa();
}
if (component.getName().equals("jmiEmpregado")
|| component.getName().equals("btnEmpregado")) {
WindowEmpregado windowEmpregado = new WindowEmpregado();
}
if (component.getName().equals("jmiEquipamento")
|| component.getName().equals("btnEquipamento")) {
WindowEquipamento windowEquipamento = new WindowEquipamento();
}
if (component.getName().equals("jmiImovel")
|| component.getName().equals("btnImovel")) {
WindowImovel windowImovel = new WindowImovel();
}
if (component.getName().equals("jmiInquilino")) {
WindowInquilino windowInquilino = new WindowInquilino();
}
if (component.getName().equals("jmiItemDespesa")) {
WindowItemDespesa windowItemDespesa = new WindowItemDespesa();
}
if (component.getName().equals("jmiServico")
|| component.getName().equals("btnServico")) {
WindowServico windowServico = new WindowServico();
}
if (component.getName().equals("jmiSair")) {
System.exit(0);
}
if (component.getName().equals("jmiReceita")
|| component.getName().equals("btnReceita")) {
WindowReceita windowReceita = new WindowReceita();
}
if (component.getName().equals("jmiTipoDespesa")) {
WindowTipoDespesa windowTDespesa = new WindowTipoDespesa();
}
if (component.getName().equals("jmiCargo")
|| component.getName().equals("btnCargo")) {
WindowCargo windowCargo = new WindowCargo();
}
if (component.getName().equals("jmiTipoCusto")
|| component.getName().equals("btnTipoCusto")) {
WindowTipoCusto windowTipoCusto = new WindowTipoCusto();
}
if(component.getName().equals("jmiRelatorioCondominio")) {
WindowRelatorioCondominio windowRelatorioCondominio = new WindowRelatorioCondominio();
}
if(component.getName().equals("jmiLogout")) {
mensagem = String.format("Deseja Efetuar o Logoff ? %s", windowMenu.login);
sn = JOptionPane.showConfirmDialog(windowMenu, mensagem, "Logoff", JOptionPane.YES_NO_OPTION);
if(sn==0){
WindowLogin windowLogin = new WindowLogin();
//Ação do Logout
}
}
if(component.getName().equals("jmiRelatorioCusto")) {
}
if(component.getName().equals("jmiRelatorioEmpregado")) {
}
if(component.getName().equals("jmiRelatorioEquipamento")) {
}
if(component.getName().equals("jmiRelatorioImovel")) {
}
if(component.getName().equals("jmiRelatorioReceita")) {
}
if(component.getName().equals("jmiRelatorioServico")) {
}
}
}
Bem eu instancio a classe “WindowLogin” onde é a tela inicial do sistema para fazer o login
mas a ação do Logoff é na WindowMenu.
Eu já tentei de algumas formas como…
windowMenu.dispose();
mas da erro NullPointerException pois eu não instancio a WindowMenu na Classe ControlMenu
a classe ControlMenu é responsável por chamar as outras janelas WindowReceita, WindowCusto… e por aí vai
qlqr ajuda é bem vinda