marcoslogan eu tenho que ter uma forma de alternar entre usuário (Administrador,funcionário) rapidamente,sem ser obrigado a fechar e abrir novamente o sistema,é um sistema para venda de celulares,por isso a ideia de uma ação de logoff.
rof20004 eu não tenho nenhum método que verifique todas JInternalFrame abertas e feche antes,apenas estou executando um dispose(); no JFrame principal e chamando a tela de Login.Você tem alguma ideia de como eu poderia fazer essa verificação?
Ivan Alves eu estou fazendo assim:
Eu tenho um pacote funcao,nele tenho uma Classe com o nome Abre,com os métodos para abrir todas as minhas JInternalFrames.
A classe Abre de forma reduzida:
package funcao;
public class Abre {
private static javax.swing.JInternalFrame JIfuncionario;
public static void funcionario()
{
if(JIfuncionario == null || JIfuncionario.isVisible() == false)
{
JIfuncionario = new tela.JIfuncionario();//tela é o nome do pacote das janelas
tela.JFprincipal.jdarea.add(JIfuncionario);//jdarea é o meu JDesktopPane
JIfuncionario.setVisible(true);
}
else
{
JIfuncionario.toFront();// traz a janela funcionario para frente
}
}
No JFprincipal eu tenho os JButton para fazer a ação de abrir as JInternalFrame,no caso:
private void btfuncionarioActionPerformed(java.awt.event.ActionEvent evt) {
funcao.Abre.funcionario();
}
O evento do botão Logoff:
private void btlogoffActionPerformed(java.awt.event.ActionEvent evt) {
JFlogin = new tela.JFlogin();
JFlogin.setVisible(true);
dispose();
}
O evento do botão Logar:
private void btlogarActionPerformed(java.awt.event.ActionEvent evt) {
JFprincipal = new tela.JFprincipal();
JFprincipal.setVisible(true);
dispose();
}
Ao fazer o logoff com alguma JInternalFrame aberta,o evento do botão responsável por ela não consegue mais abrir até a aplicação ser finalizada completamente.Não sei se estou conseguindo explicar,mas qualquer coisa é só perguntar… Obrigado pela atenção!