Abertura de uma tela com senha

Ola a todos
Tenho uma tela de abertura com , usuario, senha, e nivel [ adiministrador e usuario ] esse fica escondido], quando digito a senha e usuario corretos, me abre a segunda tela que é a principal. O que gostaria é quando abro a tela principal se for usuario, ela me deixa algums itens do menu eneblados, como por ex: Relatorios, e quando abro a tela principal se for administrador, ela me deixa todos itens liberados. Por favor alguem pode me ajudar.

[quote=CRCJ]Ola a todos
Tenho uma tela de abertura com , usuario, senha, e nivel [ adiministrador e usuario ] esse fica escondido], quando digito a senha e usuario corretos, me abre a segunda tela que é a principal. O que gostaria é quando abro a tela principal se for usuario, ela me deixa algums itens do menu eneblados, como por ex: Relatorios, e quando abro a tela principal se for administrador, ela me deixa todos itens liberados. Por favor alguem pode me ajudar.[/quote]

Oi

É adequado informar a tecnologia para facilitar quem deseja lhe ajudar? Swing? AWT? JSF? JSP? Entende?
Supondo que seja Swing/AWT, creio que tem o método enable nos componentes, acredito que se der um .setEnable(false) ele deixa “desabilitado” o componente, “escurecido”, ok?

Abraços.

[quote=nel][quote=CRCJ]Ola a todos
Tenho uma tela de abertura com , usuario, senha, e nivel [ adiministrador e usuario ] esse fica escondido], quando digito a senha e usuario corretos, me abre a segunda tela que é a principal. O que gostaria é quando abro a tela principal se for usuario, ela me deixa algums itens do menu eneblados, como por ex: Relatorios, e quando abro a tela principal se for administrador, ela me deixa todos itens liberados. Por favor alguem pode me ajudar.[/quote]

Oi

É adequado informar a tecnologia para facilitar quem deseja lhe ajudar? Swing? AWT? JSF? JSP? Entende?
Supondo que seja Swing/AWT, creio que tem o método enable nos componentes, acredito que se der um .setEnable(false) ele deixa “desabilitado” o componente, “escurecido”, ok?

Abraços.[/quote]

Nel
Desculpe é Swing. Já tentei isso, coloquei uma JLabel na tela pricipal que quando é aberta atravez da senha me mostra se é usuario ou admininstrador, mas não funcionou


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * TelaPrincipal.java
 *
 * Created on 02/05/2011, 16:58:46
 */

package Principal;
/**
 *
 * @author Ricardo
 */

import Cadastro.CadastroDeContas;
import Cadastro.Fornecedor;
import java.util.Date;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JOptionPane;


public class TelaPrincipal extends javax.swing.JFrame
{
   
    /** Creates new form TelaPrincipal */
   public TelaPrincipal()
{
   initComponents();
  
  [b] {   
  if (lbUsuario.equals("Usuario"));
  
      Menu_cadastros.setEnabled(false);
   }   [/b]
   
//MOSTRA FOTO PRINCIPAL
   foto.setIcon(new ImageIcon("C:/Contas Pagar Receber - JAVA/Imagens/TelaPrincipal-1.jpg"));

//DESABILITA O X NO FORMULÁRIO
   setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
   
//MOSTRA DATA NO FORMULÁRIO
   Date data = new Date();
   String dia = "" + data.getDate();
   String mes = "" + String.valueOf(data.getMonth()+1);
   String ano = "" + (1900 + data.getYear());
   if (Integer.parseInt(dia)<=9)
   dia = "0" + dia;
   if (Integer.parseInt(mes)<=9)
   mes = "0" + mes;
   datacada.setText(dia+"/"+mes+"/"+ano);

//MOSTRA HORA NO FORMULÁRIO
   Date hora = new Date();
   String thora ="" + data.getHours();
   String tminuto=""+ data.getMinutes();
   String tsegundo=""+ data.getSeconds();
   if (Integer.parseInt(tminuto)<=9)
   tminuto = "0" + tminuto;
   if (Integer.parseInt(tsegundo)<=9)
   tsegundo = "0" + tsegundo;
   horacada.setText(thora+":"+tminuto+":"+tsegundo);
    }



//COMANDO ABRE FORMULÁRIO FORNECEDOR
    private void MenuItem_FornecedorActionPerformed(java.awt.event.ActionEvent evt) {                                                    
        // TODO add your handling code here:
   new Fornecedor().show();
   this.dispose();
}                                                   

//COMANDO ABRE FORMULÁRIO CADASTRO DE CONTAS    
    private void MenuItem_ContasActionPerformed(java.awt.event.ActionEvent evt) {                                                
        // TODO add your handling code here:
   new CadastroDeContas().show();
   this.dispose();
}                                               

    private void Menu_cadastrosMenuSelected(javax.swing.event.MenuEvent evt) {                                            
        // TODO add your handling code here:
}                                           

    private void Menu_cadastrosItemStateChanged(java.awt.event.ItemEvent evt) {                                                
        // TODO add your handling code here:
   //new Fornecedor ().show();
   //this.dispose();
}                                               

    private void Menu_cadastrosActionPerformed(java.awt.event.ActionEvent evt) {                                               
        // TODO add your handling code here:
  // new Fornecedor().show();
}                                              

    private void Menu_relatoriosActionPerformed(java.awt.event.ActionEvent evt) {                                                
        // TODO add your handling code here:
}                                               

//COMANDO SAIR DE UM FORMULÁRIO  
    private void MenuItem_EncerrarActionPerformed(java.awt.event.ActionEvent evt) {                                                  
        // TODO add your handling code here:
   //if(javax.swing.JOptionPane.showConfirmDialog(null,"DESEJA ENCERRAR AS ATIVIDADES ?","ENCERRAR",
   //javax.swing.JOptionPane.YES_NO_OPTION )==0)
   //this.dispose();
      Object[] options =
{
   "Sim", "Não" 
};
   int i = JOptionPane.showOptionDialog(null,
   "DESEJA ENCERRAR AS ATIVIDADES ?","ENCERRAR",
   JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null,
   options, options[0]);
   if (i == JOptionPane.YES_OPTION)
{
   //System.exit(0);
   this.dispose(); 
   //new Principal.TelaPrincipal().show();
}        
    }                                                 

    private void MenuItem_FornecedorItemStateChanged(java.awt.event.ItemEvent evt) {                                                     
        // TODO add your handling code here:
    }                                                    

//COMANDO ABRE FORMULÁRIO RELATORIO DE FORNECEDORES COMPLETO    
    private void RelaFornecCompletoActionPerformed(java.awt.event.ActionEvent evt) {                                                   
        // TODO add your handling code here:
   new Relatorio.RelaFornecCompleto().show();
   this.dispose();
    }                                                  

//COMANDO ABRE FORMULÁRIO RELATORIO DE CONTAS COMPLETO    
    private void RelaContasCompletoActionPerformed(java.awt.event.ActionEvent evt) {                                                   
        // TODO add your handling code here:
   new Relatorio.RelaContasCompleto().show();
   this.dispose();
    }                                                  

//COMANDO ABRE FORMULÁRIO RELATORIO DE CONTAS FILTRADO    
    private void RelaContasFiltradoActionPerformed(java.awt.event.ActionEvent evt) {                                                   
        // TODO add your handling code here:
   new Relatorio.RelaContasFiltrado().show();
   this.dispose();        
    }                                                  

//COMANDO ABRE FORMULÁRIO DE USUARIOS    
    private void MenuItem_UsuariosActionPerformed(java.awt.event.ActionEvent evt) {                                                  
        // TODO add your handling code here:
   new Cadastro.Usuarios().show();
   this.dispose();        
    }                                                 

seguinte…tem varias maneiras de fazer isso.

pelo visto vc ta tentando com perfil, acho a maneira mais facil. Eu faço assim, veja: http://guj.com.br/java/251717-duvida-no-controle-de-acesso-a-usuarios

Como vc soh tem 2 perfis eh ainda mais facil.

t+ e boa sorte.

[quote=fernandopaiva]seguinte…tem varias maneiras de fazer isso.

pelo visto vc ta tentando com perfil, acho a maneira mais facil. Eu faço assim, veja: http://guj.com.br/java/251717-duvida-no-controle-de-acesso-a-usuarios

Como vc soh tem 2 perfis eh ainda mais facil.

t+ e boa sorte.

[/quote]
Fernando
Obrigado, mas não seria isso exatamente. O que ocorre é o seguinte, quando abro meu sistema entra uma tela de senha, usuario e senha, quando voçe digita, o sistema ja identifica se a pessoa é usuario ou adiministrador, e se estiver correto, vai para a pagina principal, la tem uma JLabel que fica invisivel, e se for usuario não pode abrir alguns itens no meu, se a jlabel for adiminstrador, ela abre todo o meu, eu consegui transportar da tela senha para a tela principal a jlabel, mas o que ocorre é que qualquer um usuario ou adiministrador que aparece na jlabel da tela principal o menu fica eneblado. Não sei se fiu bem claro, mas é isso que acontece.
veja o codigo quando é aberta a tela principal, é ai que esta o problema, tato usuario como adiministrador, o menu fica eneblado

   public TelaPrincipal()
{
   initComponents();
  
   {   
  if (lbUsuario.equals("Usuario"));
  
      Menu_cadastros.setEnabled(false);
   }     

Tenta debugar o código e passar nessa linha onde você faz a verificação do nível do usuário e saber se ele sempre entra na condição if ou não, porque não dá pra dizer ao certo com pouca informação de código que você passou.

O problema está, provavelmente, nessa sua verificação.

tente:

public TelaPrincipal()  
  
initComponents();  
  
{     
if (lbUsuario.getText().equals("Usuario"));  
  
    Menu_cadastros.setEnabled(false);  
}       

ao invés de:

[code]public TelaPrincipal()

initComponents();

{
if (lbUsuario.equals(“Usuario”));

Menu_cadastros.setEnabled(false);  

}
[/code]

Perceba que no seu código, a verificação sempre retornara false.
Você não está comparando o texto que está no label, e sim o label.

[quote=sverker]O problema está, provavelmente, nessa sua verificação.

tente:

public TelaPrincipal()  
  
initComponents();  
  
{     
if (lbUsuario.getText().equals("Usuario"));  
  
    Menu_cadastros.setEnabled(false);  
}       

ao invés de:

[code]public TelaPrincipal()

initComponents();

{
if (lbUsuario.equals(“Usuario”));

Menu_cadastros.setEnabled(false);  

}
[/code]

Perceba que no seu código, a verificação sempre retornara false.
Você não está comparando o texto que está no label, e sim o label.[/quote]

Desculpe, mas não funcionou, continua a mesma coisa como se nada tivesse mudado :twisted:

Cara uma sugestão seria criar uma classe “Usuario” que contesse os dados deles sendo que o nível também estária entre eles na sua tela de login ao entrar e confirmar os dados, quardar-los também nesse objeto que referencia a classe “Usuario” exemplo:

Usuario user = new Usuario(seuLogin, suaSenha, seuNivelDeAcesso);

em seguida você quer que ao clicar em logar e estiver tudo certo ele abra a tela principal então poderia ficar assim no seu “Construtor” da sua classe principal

[code]//recebe o usuário logado com todos os dados dele
public TelaPrincipal(Usuario user){

 initComponents(); 

 //Na sua verificação ficaria mais ou menos assim
 if(user.getNivel().equals("Usuario")){
        //caso for usuário faça ...
 }

}[/code]

e claro que quando você logar você irá criar essa tela passando o usuário logado mais ou menos assim

new TelaPrincipal(user).setVisible(true);

testa ai e avisa, flw!

[quote=Ivan Alves]Cara uma sugestão seria criar uma classe "Usuario" que contesse os dados deles sendo que o nível também estária entre eles na sua tela de login ao entrar e confirmar os dados, quardar-los também nesse objeto que referencia a classe "Usuario" exemplo:

Usuario user = new Usuario(seuLogin, suaSenha, seuNivelDeAcesso);

em seguida você quer que ao clicar em logar e estiver tudo certo ele abra a tela principal então poderia ficar assim no seu "Construtor" da sua classe principal

[code]//recebe o usuário logado com todos os dados dele
public TelaPrincipal(Usuario user){

 initComponents(); 

 //Na sua verificação ficaria mais ou menos assim
 if(user.getNivel().equals(&quot;Usuario&quot;)){
        //caso for usuário faça ...
 }

}[/code]

e claro que quando você logar você irá criar essa tela passando o usuário logado mais ou menos assim

new TelaPrincipal(user).setVisible(true);

testa ai e avisa, flw![/quote]

Ivan
Não consegui fazer, segue em primeiro o codigo da tela de login, e em segundo a tela do menu principal, se puder me ajudar fico-lhe grato.

CODIGO LOGIN

package Senhas;

import java.awt.event.KeyEvent;
import java.sql.SQLException;
import java.util.Date;
import javax.swing.* ;
import utilitarios.conexao;
import javax.swing.text.MaskFormatter;


public final class Senha extends javax.swing.JFrame {
    
    private MaskFormatter formatodata;
    private static class JFrame {
    private static int DO_NOTHING_ON_CLOSE;
    public JFrame()
         
{
}
}
   int conta=0; 
   conexao senha;
   
    /** Creates new form Senha */
public Senha()
{
   initComponents();
   senha = new conexao();
   senha.conecta();  
   txtsenha.setText(&quot;&quot;);
   txtusuario.requestFocus();
}

public void mostrardados()
{
//try
{
      
//DESABILITA O X NO FORMULÁRIO
   setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

//MOSTRA DATA NO FORMULÁRIO
   Date data = new Date();
   String dia = &quot;&quot; + data.getDate();
   String mes = &quot;&quot; + String.valueOf(data.getMonth()+1);
   String ano = &quot;&quot; + (1900 + data.getYear());
   if (Integer.parseInt(dia)&lt;=9)
   dia = &quot;0&quot; + dia;
   if (Integer.parseInt(mes)&lt;=9)
   mes = &quot;0&quot; + mes;
//   datacada.setText(dia+&quot;/&quot;+mes+&quot;/&quot;+ano);

//MOSTRA HORA NO FORMULÁRIO
   Date hora = new Date();
   String thora =&quot;&quot; + data.getHours();
   String tminuto=&quot;&quot;+ data.getMinutes();
   String tsegundo=&quot;&quot;+ data.getSeconds();
   if (Integer.parseInt(tminuto)&lt;=9)
   tminuto = &quot;0&quot; + tminuto;
   if (Integer.parseInt(tsegundo)&lt;=9)
   tsegundo = &quot;0&quot; + tsegundo;
  // horacada.setText(thora+&quot;:&quot;+tminuto+&quot;:&quot;+tsegundo);
   txtusuario.requestFocus();
}
}
 private void btacessarActionPerformed(java.awt.event.ActionEvent evt) {                                          
        // TODO add your handling code here:
   if (txtusuario.getText().equals(&quot;&quot;) || txtsenha.getText().equals(&quot;&quot;))
{
    txtusuario.requestFocus();
    JOptionPane.showMessageDialog(null,&quot;OS CAMPOS USUÁRIO E SENHA SÃO OBRIGATÓRIOS&quot;);
}
    else
{
   if (conta &lt;= 1)
{    
try
{
   String sql = &quot;select * from Senhas Where usuario like '&quot;+
   txtusuario.getText()+&quot;' and senha like '&quot;+
   txtsenha.getText()+&quot;'&quot;;
  
   senha.executeSQL(sql);
   if (senha.resultset.first())
{
   //JOptionPane.showMessageDialog(null,&quot;Olá, Bom trabalho&quot;);
   new Principal.TelaPrincipal().show();
   Principal.TelaPrincipal.lbUsuario.setText(senha.resultset.getString(&quot;nivel&quot;));
   dispose();
}
   else
{
   txtsenha.setText(&quot;&quot;);
   txtusuario.setText(&quot;&quot;);
   txtusuario.requestFocus();
   
   conta++;                 
   if (conta == 1)
   JOptionPane.showMessageDialog(null,&quot;SENHA OU USUÁRIO INCORRETO,\n\nVOÇE SÓ TEM MAIS UMA CHANCE&quot;);
   else
           
{
   JOptionPane.showMessageDialog(null,&quot;VOÇE ESTA INABILITADO PARA USAR O SISTEMA !!!&quot;);                         
   dispose();
}
}
}
catch(SQLException erro)
{
}
}
}           
    }                                         
//COMANDO SAIR DE UM FORMULÁRIO
    private void btsairActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
   Object[] options =
{
   &quot;Sim&quot;, &quot;Não&quot; 
};
   int i = JOptionPane.showOptionDialog(null,
   &quot;DESEJA FECHAR ESTE FORMULÁRIO ?&quot;,&quot;SAIR&quot;,
   JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null,
   options, options[0]);
   if (i == JOptionPane.YES_OPTION)
{
   //new Principal.TelaPrincipal().show();
   System.exit(0);
}
}                                      

//LIMPA OS CAMPOS PARA NOVO REGISTRO
    private void btlimparActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
   txtusuario.setText(&quot;&quot;);
   txtsenha.setText(&quot;&quot;);
   txtusuario.requestFocus();
    }                                        

//HABILITA A TECLA ENTER
    private void txtusuarioKeyPressed(java.awt.event.KeyEvent evt) {                                      
        // TODO add your handling code here:
   int key = evt.getKeyCode();
   if(key == KeyEvent.VK_ENTER)
   ((JTextField)(evt.getSource())).transferFocus();        
    }                                     

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Senha().setVisible(true);
            }
        });
    }

CODIGO TELA PRINCIPAL


package Principal;
/**
 *
 * @author Ricardo
 */

import Cadastro.CadastroDeContas;
import Cadastro.Fornecedor;
import java.util.Date;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JOptionPane;


public class TelaPrincipal extends javax.swing.JFrame
{
   
    /** Creates new form TelaPrincipal */
   public TelaPrincipal()
{
   initComponents();
  
   {   
  if (lbUsuario.getText().equals(&quot;Usuario&quot;))
  
      Menu_cadastros.setEnabled(false);
   }   
   
//MOSTRA FOTO PRINCIPAL
   foto.setIcon(new ImageIcon(&quot;C:/Contas Pagar Receber - JAVA/Imagens/TelaPrincipal-1.jpg&quot;));

//DESABILITA O X NO FORMULÁRIO
   setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
   
//MOSTRA DATA NO FORMULÁRIO
   Date data = new Date();
   String dia = &quot;&quot; + data.getDate();
   String mes = &quot;&quot; + String.valueOf(data.getMonth()+1);
   String ano = &quot;&quot; + (1900 + data.getYear());
   if (Integer.parseInt(dia)&lt;=9)
   dia = &quot;0&quot; + dia;
   if (Integer.parseInt(mes)&lt;=9)
   mes = &quot;0&quot; + mes;
   datacada.setText(dia+&quot;/&quot;+mes+&quot;/&quot;+ano);

//MOSTRA HORA NO FORMULÁRIO
   Date hora = new Date();
   String thora =&quot;&quot; + data.getHours();
   String tminuto=&quot;&quot;+ data.getMinutes();
   String tsegundo=&quot;&quot;+ data.getSeconds();
   if (Integer.parseInt(tminuto)&lt;=9)
   tminuto = &quot;0&quot; + tminuto;
   if (Integer.parseInt(tsegundo)&lt;=9)
   tsegundo = &quot;0&quot; + tsegundo;
   horacada.setText(thora+&quot;:&quot;+tminuto+&quot;:&quot;+tsegundo);
    }
//COMANDO ABRE FORMULÁRIO FORNECEDOR
    private void MenuItem_FornecedorActionPerformed(java.awt.event.ActionEvent evt) {                                                    
        // TODO add your handling code here:
   new Fornecedor().show();
   this.dispose();
}                                                   

//COMANDO ABRE FORMULÁRIO CADASTRO DE CONTAS    
    private void MenuItem_ContasActionPerformed(java.awt.event.ActionEvent evt) {                                                
        // TODO add your handling code here:
   new CadastroDeContas().show();
   this.dispose();
}                                               

    private void Menu_cadastrosMenuSelected(javax.swing.event.MenuEvent evt) {                                            
        // TODO add your handling code here:
}                                           

    private void Menu_cadastrosItemStateChanged(java.awt.event.ItemEvent evt) {                                                
        // TODO add your handling code here:
   //new Fornecedor ().show();
   //this.dispose();
}                                               

    private void Menu_cadastrosActionPerformed(java.awt.event.ActionEvent evt) {                                               
        // TODO add your handling code here:
  // new Fornecedor().show();
}                                              

    private void Menu_relatoriosActionPerformed(java.awt.event.ActionEvent evt) {                                                
        // TODO add your handling code here:
}                                               

//COMANDO SAIR DE UM FORMULÁRIO  
    private void MenuItem_EncerrarActionPerformed(java.awt.event.ActionEvent evt) {                                                  
        // TODO add your handling code here:
   //if(javax.swing.JOptionPane.showConfirmDialog(null,&quot;DESEJA ENCERRAR AS ATIVIDADES ?&quot;,&quot;ENCERRAR&quot;,
   //javax.swing.JOptionPane.YES_NO_OPTION )==0)
   //this.dispose();
      Object[] options =
{
   &quot;Sim&quot;, &quot;Não&quot; 
};
   int i = JOptionPane.showOptionDialog(null,
   &quot;DESEJA ENCERRAR AS ATIVIDADES ?&quot;,&quot;ENCERRAR&quot;,
   JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null,
   options, options[0]);
   if (i == JOptionPane.YES_OPTION)
{
   //System.exit(0);
   this.dispose(); 
   //new Principal.TelaPrincipal().show();
}        
    }                                                 

    private void MenuItem_FornecedorItemStateChanged(java.awt.event.ItemEvent evt) {                                                     
        // TODO add your handling code here:
    }                                                    

//COMANDO ABRE FORMULÁRIO RELATORIO DE FORNECEDORES COMPLETO    
    private void RelaFornecCompletoActionPerformed(java.awt.event.ActionEvent evt) {                                                   
        // TODO add your handling code here:
   new Relatorio.RelaFornecCompleto().show();
   this.dispose();
    }                                                  

//COMANDO ABRE FORMULÁRIO RELATORIO DE CONTAS COMPLETO    
    private void RelaContasCompletoActionPerformed(java.awt.event.ActionEvent evt) {                                                   
        // TODO add your handling code here:
   new Relatorio.RelaContasCompleto().show();
   this.dispose();
    }                                                  

//COMANDO ABRE FORMULÁRIO RELATORIO DE CONTAS FILTRADO    
    private void RelaContasFiltradoActionPerformed(java.awt.event.ActionEvent evt) {                                                   
        // TODO add your handling code here:
   new Relatorio.RelaContasFiltrado().show();
   this.dispose();        
    }                                                  

//COMANDO ABRE FORMULÁRIO DE USUARIOS    
    private void MenuItem_UsuariosActionPerformed(java.awt.event.ActionEvent evt) {                                                  
        // TODO add your handling code here:
   new Cadastro.Usuarios().show();
   this.dispose();        
    }                                                 

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new TelaPrincipal().setVisible(true);
            }
        });
    }

Oi!

O seu usário e senha está aceitando espaços em branco, está correto?
Algo assim " " é válido. Se quiser evitar isso, faça:

 if (txtusuario.getText().trim().isEmpty() || txtsenha.getText().trim().isEmpty())

Mas isso é opinião sua. Eu não gosto de permitir cadastro em branco de usuários, seja para usuário (obviamente) ou senha (opcional).
Sobre o seu código, eu entendo pouco de Swing, mas ao que vejo ele vai passar pelo seu if de forma independente. Ele inicia a tela para login mas ele também passa pelo seu if, ele não fica aguardando você dar um click no botão (logar) para executar a próxima linha de código, é o que estou vendo.

Acredito que você possa iniciar tudo como um usuário comum e somente habilitar/desabilitar algo depois de efetuado o login.
Se o usuário for o administrador, fazendo o login tudo será habilitado, caso contrário, basta manter o estado atual.

kra, vamus pensar um pouco…veja.

se vc continuar usando essa sua JLabel ae, onde guarda apenas “administrador” ou “usuario”, vc provavelmente tera problemas futuros pois tera q ficar tratando com jlabel.getText() trim() equals() etc…
O ideal eh q vc tenha uma classe do sistema, onde armazene isto ao entrar com o usuario e senha. Assim vc apenas usaria um get para pegar seu retorno.

seria algo como.

//classe do sistema
private static String perfilUsuario;

public void setPerfilUsuario(String perfilUsuario){
      this.perfilUsuario = perfilUsuario;
}

public String getPerfilUsuario(){
   return this.perfilUsuario;
}

Assim quando vc logar no seu sistema poderia apenas dar um setPerfilUsuario(), guardar seu perfil e ir dando gets para assim verificar o tipo do perfil. Ainda vc faria isso para habilitar ou naum seus JMenu/JMenuItem conforme o perfil. Bastaria vc usar um for para ir setando quais vc quer para cada perfil.

Novamente, não fique guardando isso em JLabel é uma PUTA GAMBIARRA. Encontre uma maneira JAVONICA de fazer isso, existe várias.

t+ e boa sorte.

Tá bom se quer seguir minha dicas vamos por passos então a primeira coisa seria criar uma Classe ‘Usuario’ para representar o usuário logado mais ou menos assim

[code]public class Usuario {
//variaveis inteiras que representam os níveis de acesso a cada nível
public static final int NIVEL_USUARIO = 0;
public static final int NIVEL_ADMINISTRADOR = 1;
//////////////////////

//dados do usuário
private String usuario;
private String senha;
private int nivel; //Também poderia usar String mais eu prefiro usando inteiro

/*Seus métodos Getters e Setters vem logo abaixo
  *Se não sabe como cria-los estude sobre encapsulamento e métodos de getters e setters 
 */

}[/code]

Obrigado a todos, peguei um pouco de cada ajuda e consegui sair de uma forma meio estranha, mas deu certo. Até a proxima e de novo muito obrigado a todos