[RESOLVIDO] - Fazer logoff

10 respostas
Ziru

Pessoal venho pedir a ajuda de vcs. Me sugiu a necessidade de implementar uma opção de logoff, mas não estou conseguindo.
Estou tentado fazer assim, mas sempre a aplicação termina.

JMenuItem itemLog = new JMenuItem("Fazer Logoff");
		itemLog.setMnemonic('F');
		itemLog.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
					
				try {
					new FrameUsuario();
					System.exit(0);
				} catch (IOException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
				
			}
		});

Quem puder ajudar agradeço.

10 Respostas

charleston10

Use a classe Runtime

Ziru

Pode me mostrar um exemplo por gentileza? Eu não conheço a classe.

charleston10

http://javaaberto.blogspot.com.br/2012/11/executar-comando-cmd-pelo-java.html

Na linha de comando vc colocar o comando cmd para fazer logoff…
serve pra qlqr comando cmd…

Ziru

charleston10:
http://javaaberto.blogspot.com.br/2012/11/executar-comando-cmd-pelo-java.html

Na linha de comando vc colocar o comando cmd para fazer logoff…
serve pra qlqr comando cmd…

Mas o logoff que quero fazer não é no PC, é na aplicação ou seja, ela vai voltar para a tela de login, deslogando o usuario.

Ziru

Alguém por favor? Preciso mesmo disso.

charleston10

Oxi, simples…
só colocar no Evento Click do seu botão a função que Volta para a tela de Login…

Feche todas as telas e abra novamente o form de Login…

new jfLogin().setVisible(true);

Lembrando que vc nao pode usar System.exit(0);
Se fizer assim, vc vai tirar sua aplicação da memória…

Mas a lógica seria, fechar todas as telas e abrir somente a tela de entrada.

;]

adsadilson

Ziru eu fiz algo parecido o q vc esta querendo

pode ser assim
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        this.setVisible(false);
        new Login(this, true).setVisible(true);
    }
ou assim
JMenuItem itemLog = new JMenuItem("Fazer Logoff");  
    itemLog.setMnemonic('F');  
    itemLog.addActionListener(new ActionListener() {  
          
        @Override  
        public void actionPerformed(ActionEvent e) {  
                  
            try {  
                 this.setVisible(false);
                new Login(this, true).setVisible(true);
            } catch (IOException e1) {  
                // TODO Auto-generated catch block  
                e1.printStackTrace();  
            }  
              
        }  
    });
Ziru

Opa vou tentar aki pra ver se consigo.

Ziru

Resolvido graças a sua ideia meu amigo adsadilson valeu.
Mas tive que deixar o cogido assim.

JMenuItem itemLog = new JMenuItem("Fazer Logoff");
		itemLog.setMnemonic('F');
		itemLog.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {

				try {
					
					janela.setVisible(false);  
					new FrameUsuario().setVisible(true);
					janela.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
				} catch (IOException e1) {
		
					e1.printStackTrace();
				}

			}
		});

Não aceitou os parâmetros que vc colocou, nem compilou aki.
Lendo a doc do java, preferi também adicionar janela.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
esse método libera os recursos utilizados pela janela.

adsadilson

kibom q vc conseguio, ate mais.

Criado 17 de dezembro de 2012
Ultima resposta 21 de dez. de 2012
Respostas 10
Participantes 3