Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
programação orientada a eventos Linguagem de Programação Visual Prof. Thiago Meirelles Ventura UFMT – IC – 2013/2 Introdução 2 Introdução A programação orientada a eventos é um paradigma de programação que não segue um fluxo de controle padronizado. Seus fluxos de controles são guiados por sinais externos. Sua aplicação está diretamente ligada com o desenvolvimento de interfaces voltada para o usuário. 3 Introdução Um usuário normalmente interage com a interface de um sistema para indicar uma atividade que o sistema deve fazer. Exemplo: enviar e-mail Ao pressionar o botão “Send”, um evento é chamado. 4 Evento Ação detectada pelo programa que pode ser controlada pelo programa Evento Evento Podemos pensar no programa como um grande loop: 7 Evento - handlers O método que é executado quando um evento é disparado, chama-se: handler. public class ExemploHandler extends JFrame implements ActionListener { [...] JButton okButton = new JButton("Ok"); okButton.addActionListener(this); [...] public void actionPerformed(ActionEvent e) { [...] } Evento - handlers O método que é executado quando um evento é disparado, chama-se: handler. public class ExemploHandler extends JFrame implements ActionListener { [...] JButton okButton = new JButton("Ok"); okButton.addActionListener(this); [...] public void actionPerformed(ActionEvent e) { [...] } Evento - tipos Existem vários tipos de eventos Comandos com o mouse Comandos com o teclado Ações com relação a tela E outros, como o touch Evento - problema Atividades externas: assíncrono Execução do programa: síncrono 11 Threads O uso de threads permite que mais de uma ação aconteça ao mesmo tempo em um programa. Possibilitando a programação e uso de eventos Threads - exemplos Leitura contínua de dados de um dispositivo de entrada Em alguns casos o programa não pode parar o seu processamento para fazer a leitura de um dado. Uma thread pode ficar responsável apenas para ler os dados Threads - exemplos Editor de texto Thread para fazer correção ortográfica Thread para fazer gravação automática Thread para sugerir palavras ... Threads - exemplos Programa de chat on-line Uma thread para cada conversa http://tech.gaeatimes.com/ Threads - exemplos Grande quantidade de processamento Utilizar de paralelismo Uma thread diferente para cada processamento Threads - vantagens Permitir a exploração do paralelismo real oferecido por máquinas multiprocessadores Aumentar número de atividades executadas por unidade de tempo Aumentar o tempo de resposta, possibilidade de associar threads a dispositivos de entrada/saída Sobrepor operações de cálculo com operações de entrada e saída Exceções Uma exceção (exception) surge quando algo anormal acontece durante o processamento de um programa. Exceções - exemplos Divisão por zero Atribuir um valor à uma variável de tipo incompatível Acessar o atributo de uma variável nula Acessar uma posição inválida de um vetor Abrir um arquivo inexistente Falha na conexão com banco de dados ... Erros customizados Exceções - handler try { [...] } catch( TipoDeExceção1 identificador1 ) { [...] } catch( TipoDeExceção2 identificador2 ) { [...] } finally { [...] } Exceções - handler try { [...] } catch( TipoDeExceção1 identificador1 ) { [...] } catch( TipoDeExceção2 identificador2 ) { [...] } finally { [...] } Exceções - handler try { [...] } catch( TipoDeExceção1 identificador1 ) { [...] } catch( TipoDeExceção2 identificador2 ) { [...] } finally { [...] } Exceções - handler try { [...] } catch( TipoDeExceção1 identificador1 ) { [...] } catch( TipoDeExceção2 identificador2 ) { [...] } finally { [...] } Exceções - handler try { for (int i = 0; i <= 15; i++) { array[i] = i; System.out.println(i); } } catch (ArrayIndexOutOfBoundsException e) { System.out.println("erro: " + e); } Exceções - throw try { new java.io.FileInputStream("arquivo.txt"); } catch (java.io.FileNotFoundException e) { throw new Exception (”Não foi possível abrir o arquivo"); } Exceções - stacktrace Exceções - linguagens Algumas linguagens que suportam o controle de exceções: C/C++ C# Java JavaScript Objective-C PHP Python Ruby Visual Basic
Compartilhar