| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/09/2009 14:33:45
|
VantuilJose
JavaChild
![[Avatar]](/images/avatar/ca5b658462069fbcf6db37967b8c9cec.jpg)
Membro desde: 15/09/2008 11:47:53
Mensagens: 101
Offline
|
Java é bom d+, só que interface com o usuário é uma parte bem complexa....
Tô com um probleminha, tentarei explicar sucintamente o que desejo fazer, e espero que me dêem alguma idéia:
No programa que estou desenvolvendo tem um formulário para cadastro de pessoas, portanto tem um monte de dados que tenho que inserir, a melhor opção que achei foi usar o JTabbedPane, que cria umas abinhas, aí divide os campos em quatro abas, e criei-os em quatro JPane separados, Crio um Frame instancio e adiciono o JTabbed a ele, instancio cada um dos paineis e adiciono-os ao JTabbed.
Para terem uma idéia melhor:
Agora pra pegar os valores dos campos estou com problemas, pensei nas três opções:
1- Dentro de cada classe que herda o JPane criar métodos públicos que possam acessar o valor dos campos digitados pelo usuário. Só que além de dar muito trabalho vai despendiar um pouco mais de processamento, por causa das chamadas sucessivas de métodos.
2- Colocar todos os meus campos como variáveis públicas, ou protegidas, e acessá-las diretamente, só que aí eu assassino o encapsulamento.
3- Criar os JPane's como classes internas e variáveis públicas, assim elas seriam encapsuladas pela minha classe JFrame, que é onde eu adiciono os Jpane's ao JTabbed(as abas), me parece uma ganbiarra, mas uma boa idéia...
Entenderam minha idéia?
Qualquer sugestão ou comentário são bem vindos.
|
Vantuil Oliveira
Tecnólogo em Análise e Desenvolvimento de Sistemas - IFMG Bambuí
Mestrando em Ciência da Computação - UFOP
-
"I am the maniac serial killer that knows where you live who will maintain your code!" |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/09/2009 16:32:18
|
karh-el
Debugger
![[Avatar]](/images/avatar/adb2cd57d12c840f15e2c9bca0215ed3.jpg)
Membro desde: 27/04/2009 23:47:30
Mensagens: 58
Localização: Boa Vista - RR
Offline
|
Eu faria assim:
Criaria uma classe com todos os atrubutos de um objeto. Por exemplo, dados de uma pessoa.
Depois uma classe para implementar tudo o que pretendo fazer com Pessoa.
Com isso basta instanciar um objeto Pessoa para pegar os dados dos campos das suas janelas e PessoaDAO para trabalhar sobre essas informações.
Usar classes internas vai "inchar" suas classes sem necessidade. As outras duas opções vão dificultar manutenção de código porque vão espalhar métodos por todo canto.
É isso aí! Ajudou?
|
Muitas mão fazem um trabalho leve. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/09/2009 16:35:06
|
cawink
Debugger
Membro desde: 12/02/2008 08:39:40
Mensagens: 63
Offline
|
O certo é separar a interface dos dados, logo:
1- Crie uma classe Pessoa com seus campos e faça os sets e os gets do objeto e utilize na use interface. É a mais pura orientação a objetos possível.
|
CwSystems |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/09/2009 17:14:15
|
VantuilJose
JavaChild
![[Avatar]](/images/avatar/ca5b658462069fbcf6db37967b8c9cec.jpg)
Membro desde: 15/09/2008 11:47:53
Mensagens: 101
Offline
|
Valeu, ajudou a dar uma clareada....
acho que estou muito centrado na interface, e não posso ser assim, mas todos os problemas são devido à organização.
Tô trabalhando com cachê, e ele já me dá as classe prontinhas, com todos gets ans sets possíveis e mais alguns métodos utilitários para manipulação no banco.
Mas acho que ainda tenho um problema, é que o botão que salva os dados está no formulário,
O PnlPessoas é uma classe separada que tem campos para dados como cpf, nome, identidade e o PnlPessoas2 tem dados referentes ao contato com a pessoa e-mail, endereço, bairro. Então? Deu pra entender melhor qual é o meu problema?
Como faço para acessar a classe do JPanel através do JFrame se elas estão separadas?
Se tiverem alguma dúvida sobre o que eu quero fazer, por favor, me falem.
Na imagem as marcas vermelhar indicam que, o que está dentro do mesmo círculo pertence a um único arquivo, ou seja o JTabbedPane é instanciado no JInternal, as outras classe foram feitas separadas, elas herdam de outras classes, em arquivos separados para facilitar a edição da GUI.
This message was edited 1 time. Last update was at 08/09/2009 17:40:13
|
Vantuil Oliveira
Tecnólogo em Análise e Desenvolvimento de Sistemas - IFMG Bambuí
Mestrando em Ciência da Computação - UFOP
-
"I am the maniac serial killer that knows where you live who will maintain your code!" |
|
|
 |
|
|
|
|