Herdar frame, panel, menubar da classe principal em outras 2 classes

5 respostas
S

AE galera, blz? estou com uma duvida com relação a herança…

exemplo, tenho uma classe(Principal) que cotem meu JFrame principal, o panel desse frame e um menubar. Blz, no meu main, executa a classe logar,
que verificar se o usuario existe e se quem logou eh Admin ou User (isso vem do banco, ja tenho pronto), independente de quem logar, admin ou user, vai abrir
a classe principal que mencionei acima, e quando estiver executando ela, vai ter um metodo que vai ver se foi admin, se for admin, executa a classe
MostrarAdmin que eh uma classe que herda o panel, frame e menubar da classe principal, e se for user, chama outra classe(MostrarUser) que herda o frame, panel e menubar
da classe principal.
Deu pra entender +/-?

vlw

5 Respostas

nel

Oi!

Não entendi nada do que disse, mas assim, só para te deixar claro.
Não existe herança multipla em Java, você não pode fazer algo como:

public class SuaClasse extends ClassA, ClasseB { // seu código }

No caso de interface, pode implementar N, mas ser filha diretamente, não.
Você pode criar uma classe para cada necessidade e fazer com que extenda uma Frame, outra um Panel e assim por diante, enfim, vai de sua logica ok?
Boa sorte.

S

Nel, obrigado pela atenção!
Vo tentar ser mais claro!

Tenho as seguintes classes:

classe Princiapal que tem um Jframe, jpanel e jmenubar;

classe Login verifica se o usuario é admin ou usuario normal (faz verificacao no banco, ja esta funcionando);

classe Conecta que conecta no banco;

classe Executa que é a main;

Entao, o programa executa normal, conecta no banco e abre uma pequena tela que o usuario digita o usuario a senha, quando ele aperta em logar
verifica no banco certinho se usuario existe e se a senha bate e a permissao desse usuario. Ate ai ta tudo funcionando certo.

Agora vem o problema.

Quero criar 1 classe q mostre os dados pro admin(acesso full) e 1 classe q mostre os dados pro usuario(acesso limitado), so que quero usar o extends,
estender essas 2 classes da classe principal(quero utilizar o frame, o panel da classe principal). Dependendo do nivel de quem logou, aparece os dados.

tipo:

public class Principal {
  JFrame principal;
  JPanel panel;
  
  public Principal {
  //aqui propriedades do frame princiapal;
  //aqui propriedades do panel;
  }

 void verifica {
  //verifica no banco e se for admin, executa o metodo admin na classe admin
  //verifica no banco e se for user, executa o metodo user na classe user
 }
}

Classe admin q extend da principal

public class admin extends Principal {

 //nessa classe vai ter os jbuttos, jtextfields e tudo que eu quero utiliza o frame,panel e o menubar da classe Principal
}

Classe user q extend da principal

public class user extends Principal {

 //nessa classe vai ter os jbuttos, jtextfields e tudo que eu quero utiliza o frame,panel e o menubar da classe Principal
}

deu pra entender melhor agora?

nel

Sim,

tudo correto. Você tem acesso normal as informações da classe ‘Principal’ desse modo (menos informações private, obviamente).
Não entendi sua dificuldade agora. Não está conseguindo distinguir um usuário comum de um administrador? Acessar um determinado atributo? Método?

Abraços.

ViniGodoy

Movido para o fórum de Interface Gráfica. Por favor, leia com atenção a descrição dos fóruns antes de postar.

S

Nel, acho que ja sei q cagada eu fiz ali… acho q é com relação aos private =x

vo trabalhar agora, depois vo testar pra ve se era isso msm! qq coisa eu volto a postar!

Vini, mals por postar na area errada, acreditei que minha duvida estava baseada na oop por isso postei aqui!

vlww

Criado 11 de julho de 2011
Ultima resposta 11 de jul. de 2011
Respostas 5
Participantes 3