Buscar

10 MANIPULAÇÃO DE MODELO DE CLASSES EM INTERFACES GRÁFICAS


Continue navegando


Prévia do material em texto

- -1
LINGUAGEM DE PROGRAMAÇÃO
MANIPULAÇÃO DE MODELO DE CLASSES 
EM INTERFACES GRÁFICAS
- -2
Olá!
Ao final desta aula, você será capaz de:
1. Implementar interfaces gráficas para controlar objetos do modelo;
2. Utilizar tratamento de exceção;
3. Utilizar tratamento de eventos;
4. Utilizar interfaces gráficas interagindo com objetos e classes previamente definidos;
5. Explorar todos os conceitos abordados no curso em exemplos e exercícios.
1 Entendendo o problema real
Quando estamos aprendendo uma linguagem de programação, muitas vezes não conseguimos ver a aplicação
prática do que estamos aprendendo. Além da matéria ser difícil, não conseguimos ver a aplicação deste conteúdo
no mercado de trabalho.
Nesta aula, iremos construir um exemplo real, com as classes da camada da interface conversando ou trocando
mensagens com as classes do negócio. Neste exemplo, só iremos aplicar todos os conhecimentos adquiridos nas
nossas aulas. Para ser uma aplicação completa e passível de ser consumida no mercado a conexão com o banco
de dados, para persistir os objetos envolvidos.
2 O problema proposto
Queremos controlar um clube recreativo. Neste clube, devemos gerenciar as atividades oferecidas e seus
associados. Para isso, temos o seguinte diagrama de classes das classes do negócio:
- -3
Na imagem, podemos ver as Classes Atividade, Sócio e Alocação. Iremos trabalhar apenas com as classes
Atividade e Sócio.
Para a camada de Interface, teremos o seguinte diagrama de classes:
Agora, olhando o problema todo, temos o seguinte diagrama:
- -4
Nosso problema agora é implementar este diagrama em Java. Para simplificar um pouco nosso trabalho, não
iremos trabalhar com a classe Alocação.
3 JavaBean
É uma arquitetura de componente definida na Java 2 Plataform, Standard Edition (J2SE), usado para definir os
componentes do modelo do software em Java. São classes simples com características definidas, que visam a
interoperabilidade do código.
Características:
Um bean é uma classe definida como um bloco, que têm sua estrutura facilmente portável e sua estrutura é
muito simples. O foco é construir pequenos componentes com apenas as funções básicas.
Definição
Um Java Bean é um componente de software reutilizável, que pode ser manipulado visualmente por uma
ferramenta de desenvolvimento”
Para isso, um Bean tem que ter as seguintes características:
• Nome da Classe.
• Atributos da Classe privados.
• Construtor vazio.
• Métodos Get’s e Set’s para todos os atributos.
•
•
•
•
- -5
Leia a definição oficial do Java Bean no link a seguir: http://estaciodocente.webaula.com.br/cursos/gon266/docs
/beans.101.pdf
4 Criando as classes do negócio
Utilizando o NetBeans, criar um novo projeto Java, com o nome de ClubeRecreativo.
Arquivo -> Novo Projeto -> Java -> Aplicativo Java
Aperte o botão Próximo.
Uma nova caixa de diálogo irá se abrir para definir o nome e local do seu projeto.
Como podemos ver ao lado, definimos o nome do Projeto e o local onde os arquivos ficarão armazenados no seu
computador.
Preencher o nome do projeto com ClubeRecreativo e apertar o botão Finalizar.
Caso tenha feito alguma coisa errada, você pode clicar no botão voltar para corrigir.
http://estaciodocente.webaula.com.br/cursos/gon266/docs/beans.101.pdf
http://estaciodocente.webaula.com.br/cursos/gon266/docs/beans.101.pdf
- -6
Agora com o nosso projeto criado, vamos criar as duas classes apresentadas acima, Atividade e Socio.
Clicar com o botão direito do mouse no nome do nosso projeto. Escolher Novo -> Classe Java.
O nome da classe será Atividade e vamos colocar esta classe dentro do pacote negocio.
Basta clicar em finalizar para que a estrutura da classe seja criada.
Como iremos criar um Bean, iremos definir os atributos e os métodos Get’s e Set’s padrão, bem como seu
construtor vazio.
- -7
5 Construindo as classes de interface
As telas que iremos criar aqui tem a mesma estrutura da criada na aula 7.
Inicialmente, vamos construir a tela principal. Para este sistema funcionar, precisamos construir uma tela de
cadastro com uma barra de menus. Esta tela se liga a TelaCad. Dependendo da opção escolhida no menu, a tela
de cadastro terá o comportamento de cadastro de Atividade ou cadastro de Sócio. Isso é uma aplicação de
polimorfismo.
Vamos criar a TelaPrinc. Clicar com o botão direito no nome do projeto e criar um novo Formulário JFrame. A
caixa de diálogo irá abrir. Coloque o nome da classe e no nome do pacote, vamos colocar Visao. Vamos colocar
todas as classes da camada de interface no pacote Visao.
Agora, vamos programar a barra de menu. Utilizar a Palete de Menus Swing para clicar e arrastar um
componente Barra de Menu para o Projeto. A barra de menu com as opções File e Edit irá aparecer. Observe que
estas duas opções são 2 objetos jMenu fornecidos automaticamente. Para colocar as opções, temos que os itens
de menu (Item de Menu).
Editar os nomes das opções para aparecer Cadastro e Sair. Clicando em cima dos nomes, a edição é aberta e
trocamos o nome. Outra opção é a de ir na propriedade, buscar a propriedade text para o novo nome.
Vamos programar o evento de saída, para fechar a janela e terminar o programa. Insira um Item de Menu na
opção Sair. Coloque o nome Sair neste item. Nas propriedades de evento, programe o actionPerformed para este
item. Clique nas três pontos para que a opção do nome do método de tratamento do evento seja aberta. Coloque
o nome do método e coloque o código no método criado.
....
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
if(javax.swing.JOptionPane.showConfirmDialog(null,"Confirma Saída?", "ATENÇÃO", javax.swing.JOptionPane.
YES_NO_OPTION )==0){
System.exit(0);
}
Clique aqui e saiba mais sobre o assunto:
http://estaciodocente.webaula.com.br/cursos/gon266/docs/10LDP_doc01.pdf
Saiba mais
http://estaciodocente.webaula.com.br/cursos/gon266/docs/10LDP_doc01.pdf
- -8
}
...
Este código cria uma caixa de diálogo para confirmar a saída. Caso aperte na opção YES, o sistema termina sem
erros - normalmente.
Vamos agora fazer o mesmo procedimento para o cadastro. Neste menu, teremos duas opções: Atividade e Socio.
Criar dois itens com estas opções.
Colocar o Item de Menu;
Renomear a opção;
Clicar na opção e programar o evento;
Escolher Eventos na Paleta;
Clicar nos 3 pontos do actionPerformed;
Nomear o método de tratamento do evento;
TrataCadastraSocio
TrataCadastraAtividade
Para continuar, precisamos das telas de cadastro prontas. Vamos trabalhar nestas telas.
Leia o texto “Construindo as classes de tela de cadastro”, disponível em:
http://estaciodocente.webaula.com.br/cursos/gon266/docs/10LDP_doc02.pdf
6 Integrando as telas de cadastro com as classes
Para implementar a integração, vemos que a TelaCad precisa estar associada as classes Atividade e Socio. Para
isso, criaremos estes atributos na classe genérica.
Trabalhando com a Atividade, basta efetuar a programação dos tratamentos de eventos da TelaCadClube, para
criação, alteração, exclusão e consulta. As alterações no código estão apresentadas abaixo.
@Override
void trataAltera() {
if (atividade==null)
atividade = new Atividade();
atividade.setCodAtv(corpo.getAtv());
atividade.setDescricao(corpo.getNome());
}
@Override
http://estaciodocente.webaula.com.br/cursos/gon266/docs/10LDP_doc02.pdf
http://estaciodocente.webaula.com.br/cursos/gon266/docs/10LDP_doc02.pdf
- -9
void trataConsulta() {
if (atividade==null)
corpo.setNome("Atividade não cadastrada");
else {
corpo.setAtv(atividade.getCodAtv());
corpo.setNome(atividade.getDescricao());
}
}
@Override
void trataExclui() {
if(javax.swing.JOptionPane.showConfirmDialog(null,"Confirma Exclusão?", "ATENÇÃO", javax.swing.JOptionPane.
YES_NO_OPTION )==0){
atividade=null;
corpo.setAtv(0);
corpo.setNome("");
}
}
@Override
void trataInclui() {
if (atividade==null)
atividade = new Atividade();
atividade.setCodAtv(corpo.getAtv());
atividade.setDescricao(corpo.getNome());}
- -10
A programação da outra tela com a outra classe é análoga e iremos deixar para que você pratique.
Como exercício, faça o tratamento da exceção para que se o usuário entre com um valor inteiro nos campos
Matrícula e CodAtv, seja apresentado uma mensagem para que o usuário possa editar e corrigir a digitação. Só
como orientação, este tratamento deverá ser feito nas funções de tratamento do JPanel, tanto para Atividade
quanto para Sócio.
CONCLUSÃO
Nesta aula, você:
• Implementou Interfaces gráficas para controlar objetos do modelo;
• Utilizou tratamento de Exceção;
• Utilizou tratamento de Eventos;
• Utilizou interfaces gráficas interagindo com objetos e classes previamente definidos;
• Explorou todos os conceitos abordados no curso em exemplos e exercícios.
•
•
•
•
•
	Olá!
	1 Entendendo o problema real
	2 O problema proposto
	3 JavaBean
	4 Criando as classes do negócio
	5 Construindo as classes de interface
	6 Integrando as telas de cadastro com as classes
	CONCLUSÃO