Orientação sobre herança

3 respostas
S

Blz Pessoal?

Estou tentando fugir um pouco do mundo procedural, e no java, queria saber como fazer a seguinte situação:

Tenho a classe Principal(), que é composta por um JFrame, e um JTabbedPane que possuirá diversas abas.

Agora, os componentes que irão compor cada aba (JTextField, JLabel, etc) quero fazer em classes separadas, por exemplo:

a classe princpial, possui um frame e um Jtabbedpane que possui as abas saidas e entradas;

tudo que vai aparecer na aba entradas quero criar em uma classe entradas, e a mesma coisa para a aba saida, outra classe.

Isso é possível? As classes entradas e saidas serão extendidas da classe principal? como vou buscar estes componentes das classes filhas e apresentar na classe mae?

3 Respostas

R

Não entendi bem o que voce quer. Mas se for o que to pensando, voce pode criar cada aba como sendo um JPanel, e dentro desse JPanel voce poe os componentes.

O Netbeans te da isso de bandeja, bem simples.

Na hora de chamar a aba que voce deseja, coloca um evento que executa um metodo que por sua vez chama new Aba().setVisible(true), ou show() , nao lembro como mostra um JPane, mas é bem facil.

P

Bom dia,

Também não entendi muito o que você quer fazer.

Mas se for o que penso, você pode no JFrame colocar o JTabbed e colocar os JPanel para fazer as abas. Depois crie no seu projeto novas classe do tipo JPanel e não JFrame. Cada classe JPanel você poem os componentes da aba correspondente.
Voltando ao seu JFrame, você poem o evento que quando uma aba for selecionada, você joga no JPanel da aba a classe JPanel que você criou separadamente com o comando:

painelAba.removeAll();  
painelAba.add(new outroPainel(), BorderLayout.CENTER);  
painelAba.validate();

Só não esquece de definir o layout dos JPanel que você colocou na JTabbed com o comando:

painelAba.setLayout(new BorderLayout());
painelAba1.setLayout(new BorderLayout());
Ruttmann

Então colega, acho que entendi o que você quer fazer…

Queres criar separadinho cada componente em sua classe própria, e depois juntar todos eles pra montar a tela né?

É possível fazer sim, é só vc ir instanciando as classes no painel JFrame e setando a localização de cada componentes através dos LayoutManager. Não vou conseguir te dar muitas dicas pois não sou muito bom em Swing…

Te aconselho a ler mais um pouco sobre heranças e polimorfismo, e decorar bem esses conceitos de classe pai, classe filho e bla bla bla, pois para o que vc quer fazer não é necessário ter herança, serão classes paralelas sem heranças entre si…

Uma coisa bem legal de fazer pra você estudar o código, é usar o WindowBuilder da IDE Eclipse. Ele gera um código bom que já vai te dar uma boa noção…

Mas é só pra estudo, senão vai se acostumar a gerar as GUI tudo por ali e esquece como codificar as janelas…

:lol:

rof20004:
Não entendi bem o que voce quer. Mas se for o que to pensando, voce pode criar cada aba como sendo um JPanel, e dentro desse JPanel voce poe os componentes.

O Netbeans te da isso de bandeja, bem simples.

Na hora de chamar a aba que voce deseja, coloca um evento que executa um metodo que por sua vez chama new Aba().setVisible(true), ou show() , nao lembro como mostra um JPane, mas é bem facil.

Desaconselho o uso do Netbeans, gera um código lamentável, que só vai atrapalhar o aprendizado.

Gosto da IDE, mas ainda precisa evoluir na geração de código do assistente de criação de GUI…

Criado 24 de setembro de 2012
Ultima resposta 25 de set. de 2012
Respostas 3
Participantes 4