Atualizando Dados

6 respostas
rolipam

Seguindo outra dúvida em relação ao meu outro post Lembrete de Aniversariantes - http://www.guj.com.br/java/280072-lembrete-de-aniversariantes - gostaria de saber como posso fazer para que a cada nova inclusão de clientes, o meu lembrete de aniversariantes, também seja atualizado sem que tenha que fechar a aplicação e abrí-la novamente, sabendo que esse lembrete encontra-se na tela principal da minha aplicação. Tentei criar um método atualizaAniversariantes() na tela principal e chamá-lo toda vez que um novo registro é inserido, alterado ou excluído, mas não funcionou. Alguém tem alguma sugestão? Os dados que utilizo do banco de dados são o nome e a data de nascimento (ordenada por mês e por dia), portanto esses são os únicos dados que preciso atualizar no meu lembrete. Obrigado aos que se dispuserem a compartilhar seus conhecimentos comigo!

6 Respostas

ErickRAR

Acho que o padrão Observer te ajudaria.

rolipam

ErickRAR, Ainda sou iniciante em Java e nunca tive que lidar com os Padrões de Projeto (até hoje). Tentei ler um alguns materiais sobre o assunto, não consegui enteder direito, até mesmo porque estou aprendendo Java sozinho, com apostilas e video aulas. Não tenho formação em nenhuma área de TI, e meus conhecimentos em Informática (Hardware, Redes, Windows, Linux, SQL e Java) foram adquiridos sozinho (nunca fiz nenhum curso) por curiosidade mesmo. É mais um Hobby do que Profissional. Sou Farmacêutico de Formação Superior. Então, se puderem me dar algumas dicas eu ficaria bastante agradecido. Não precisam me dar o código pronto de “mão-beijada”, mas algo com o que eu já possa me desenvolcer sozinho, com os conhecimentos que possuo atualmente, e alguma sugestão de leitura sobre o assunto “não tão complicada” e fácil de entender. Valeu a Todos que puderem me ajudar!

SandroSoftwares

rolipam,

vc pode fazer um método tipo esse ai que vc falou (atualizaAniversariantes) mandando fazer um consulta ao banco de tantos em tantos minutos...

vc pode implementar assim:

new Thread() {

            @Override
            public void run() {
                while (true) {
                 
//faz aqui a consulta ao banco

   try {
             Thread.sleep(1000); // fazendo consultas de um em um segundo. Se quiser aumentar pra minutos é só multiplicar x 60
                    } catch (InterruptedException exc) {
                        exc.printStackTrace();
                    }
                }
            }
        }.start();

Sandro

rolipam

Andei pensando também na possibilidade de colocar um Botão “Atualizar” para fazer nova consulta ao BD, sem ter que que ficar fazendo consultas perípicas e consumindo recursos na Máquina do cliente, pois enquanto a base de dados for pequena, o tempo e os recusrsos de cpu e memória gastos não serão perceptíveis, mas imagine, supostamente, uma base de dados com milhares de dados. De qualquer forma a idéia de da Thread é bem interessante, apesar do Padrão Observer (pelo já andei lendo) seria a melhor opção mesmo, pois assim que houvesse mudança no objeto “cadastro de clientes” com uma nova inserção, alteração ou exclusão no banco de dados, enviaria uma mensagem para minha “Tela Principal” atualizar os dados. Mas como meu prazo já está mais que vencido, vou pensar nessas possibilidades para as futuras versões do meu software. Valeu Galera pelas Dicas.

douglaskd

você pode criar uma view no banco, fazendo os calculos de data de aniversário e aparecendo na tela principal.

esse lance de ficar atualizando algo que não é tão importante, acho besteira.

além do mais você pode começar a colocar o lembrete quando faltar 1 mes para o aniversário.

com certeza um usuário não fica mais de 1 dia sem fechar o sistema.

rolipam

Olá douglaskd, Vou levar em consideração as suas sugestões. Valeu pelas dicas. Um abraço a TODOS.
Mas ainda preciso aprender Pattern Observer

Criado 20 de agosto de 2012
Ultima resposta 21 de ago. de 2012
Respostas 6
Participantes 4