Java 1 – Introdução aos padrões e Lista Fabio Garcia Ementa • • • • • • Ferramenta utilizada; Criando e configurando um projeto; Conhecendo os padrões (caixa preta); Lista simples; Lista com filtro; Personalizando a lista: – CellRenderer (pintar colunas, adicionar ícone) • Interações com a lista. – Popup e botão Produto final - Filtro Produto final - Filtro Ferramenta utilizada Criando um projeto Criando um projeto \Software\_dev\Modulos\Treinamento \_baseline\Branches\SEU_NOME\Java Criando um projeto – configurando o projeto Criando um projeto – configurando o projeto * Criando um projeto – configurando o projeto Criando um projeto – configurando o projeto \Software\_dev\Bibliotecas\Java\Lib Criando um projeto – Criação da estrutura Basicamente a estrutura seria a criação dos packages, que são organizadores das classes semelhantes. O padrão de nomenclatura destes packages, segue a estrutura de módulos da KMM no SVN, sempre iniciando por kmm.módulos. Para nosso treinamento, utilizaremos o seguinte padrão: kmm.modulos.treinamento.* Criando um projeto – Criação da estrutura • database (kmm.modulos.treinamento.database): classes de acesso a banco de dados; • view (kmm.modulos.treinamento.view): classes de cadastros; • forms(kmm.modulos.treinamento.view): classes de cadastros filhos; • listas (kmm.modulos.treinamento.listas): classes de lista e filtro; • resources(kmm.modulos.treinamento.resources): imagens que serão usadas apenas no projeto; • Existem outros, como uteis, wizard, panels, etc... Criando um projeto – Criação da estrutura Criando um projeto – Criação da estrutura Criando um projeto - Resultado Recapitulando... Conhecendo os padrões • • • • KMMLib; KMMPadroes; KMMComponentes; KMMJGrid; Lista simples – Criação das classes Para o nosso exemplo, iremos desenvolver uma lista de professores. Para isso, precisaremos de 3 classes: • DBTreinamento (herda de KMMComponentAbstract); • FormProfessorLista (herda de ListaPadrao); • FormProfessorFiltro (herda de FiltroPadrao). Lista simples – classe DBTreinamento Lista simples – classe DBTreinamento Lista simples – classe DBTreinamento Lista simples – classe DBTreinamento Lista simples – Gerador de SQL Corporativo KMM / KMM / Geradores / Gerador de Procedimentos/SQL Ctrl + shift + i Alt + shitf + f Lista simples – classe FormProfessorLista • Botão direito em cima do package “listas”, opção Novo / Outros / KMM / ListaPadrao; • Dar o nome de FormProfessorLista; Lista simples – Construtor e createForm • Construtor recebendo um objeto do tipo KMMConnectionManager; • Método estático recebendo um objeto do tipo KMMConnectionManager, e retornando uma instância da interface a ser exibida. Lista simples – Construtor e createForm Lista simples – Item de acesso • SVN/Software/_dev/Modulos/Treinamento/_baseline/T runk/v1.0/Oracle/Geradores/gerador_item_acesso.tst Lembrar de construir o projeto! Lista simples – Resultado Lista - Filtro • Botão direito em cima do package “listas”, opção Novo / Outros / KMM / FiltroPadrao; • Dar o nome de FormProfessorFiltro; Lista - Filtro Lista - Filtro • Construtor recebendo um objeto do tipo do tipo ListaPadrao; • Método estático recebendo um objeto do tipo KMMConnectionManager, e retornando uma instância da interface a ser exibida; • Não possui métodos abstratos, porém para funcionar corretamente, é necessário sobrescrever 3 métodos: – public String getTitle() – protected void loadParameters() – protected void saveParameters() Lista - Filtro Lista – Filtro – Item de acesso • SVN/Software/_dev/Modulos/Treinamento/_baseline/Tr unk/v1.0/Oracle/Geradores/gerador_item_acesso.tst Lembrar de construir o projeto! Lista – Filtro - Resultado Lista – Filtro – Adicionando componentes Lista – Filtro – Adicionando componentes JExtDateField JExtTextField JExtLabel Lista – Filtro – Implementação do método saveParameters() • “Limpar” os parâmetros; • Verificar se os campos da interface estão preenchidos (if), se sim, e adiciona-los aos parâmetros. Lembrar do alt + shift + f =] Lista – Filtro – Implementação do método saveParameters() Fazer o mesmo para CPF e Data final Lista – Filtro – Implementação do método saveParameters() - Resultado Lista – Filtro – Utilizando os parâmetro na query Lista – Filtro – Utilizando os parâmetro na query • Uso da função arguments.hasValue(String key); • Necessário 2 if’s para verificar a existência do parâmetro e utiliza-lo: – 1°: antes do this.getConnection().prepareCall(sql), para para fazer a concatenação da query (caso o parâmetro exista); – 2°: após o this.getConnection().prepareCall(sql), para setar o valor do parâmetro no no objeto KMMCallableStatement (caso exista). Lista – Filtro – Utilizando os parâmetro na query Lista – Filtro – Utilizando os parâmetro na query • Criar o filtro para CPF: não utilizar o like, utilizar o = • Criar os filtros para data de inicio e data fim, relacionando a coluna data de nascimento. Usar a seguinte regra: – Possui data e inicio e não possui data fim: trazer todos os professores com data de aniversario maior que a data informada; – Possui data fim e não possui data inicio: trazer apenas os professores que fazem aniversário naquela data; – Possui data inicio e fim: trazer todos os professores que fazem aniversário no período informado. (between) Lista – Filtro – Utilizando os parâmetro na query Lista – Filtro – Utilizando os parâmetro na query O que temos até aqui Dúvidas Java 1 – Introdução aos padrões e Lista [email protected]