Programação Gráfica em Java Aula 02 Na aula passada vimos: • Pacotes gráficos da linguagem Java • Container AWT • Component AWT 2 O que você deve ter fixado: • Como utilizar contêineres – Window, Frame, Dialog, Panel • Quais são os componentes básicos – Button, TextField, TextArea, Choice, Label, Checkbox, List, Scrollbar, Canvas, Menu e Dialog. • Quando utilizar cada tipo • Como compor a interface gráfica usando painéis 3 Na aula de hoje veremos: • Tratamento de eventos • Fontes de eventos • Ouvintes de eventos 4 Evento • É a forma pela qual os objetos da linguagem Java se comunicam • São enviados de um único objeto (fonte) para um ou vários receptores (ouvintes) • Em POO esse modelo é chamado de delegação Aula01.DuploCanvas.java 5 Evento • Para cada tipo de evento existe uma interface ouvinte correspondente • Ouvintes de eventos podem ser instâncias de qualquer classe que implemente uma interface do tipo listener • Em todo programa com tratamento de eventos você verá os três passos seguintes: 6 Tratamento de eventos • 1. implementação da interface listener apropriada • 2. código que registra uma instância da classe tratadora do evento a um ou mais componentes • 3. implementação do(s) método(s) da interface listener ex01.BotaoEspertoI.java 7 Interfaces • Para tratar um evento uma classe deve implementar uma interface listener • Todos os métodos da interface devem ser implementados pela classe que deseja tratar um tipo de evento • A alternativa para essa exigência é o uso de classes internas anônimas ou classes adaptadoras ex01.BotaoEspertoII.java 8 Fontes de Eventos • Eventos são gerados por componentes do AWT • Lembremos que container também é componente • Vejamos uma lista dos eventos mais comuns e seus geradores 9 Action Event • • • • • Button List MenuItem TextField CheckboxMenuItem ex01.BotãoEspertoII.java 10 Focus Event Key Event Mouse Event MouseMotion Event • Todos os componentes 11 Item Event • • • • List Choice Checkbox CheckboxMenuItem ex02.Selector.java 12 Text Event • TextComponent • TextField • TextArea praticSample.NumericField.java 13 Window • Frame • Window • Dialog ex03.Closable.java 14 Adjustment Listener • Scrollbar ex03.RGBColorChooser.java 15 Classes adaptadoras • Um adaptador é um objeto cujo único fim é mapear um evento recebido para um método específico. Closer.java 16 O que você precisa saber... • Conhecer os passos para que um objeto seja “ouvido”. • Decidir qual é a interface apropriada para cada tipo de evento • Criar classes tratadoras de eventos • Separar o código associado a um evento em três partes: fonte / tratador / destino praticSample.Verificador.java 17 Na próxima aula veremos: • Gerenciadores básicos de leiaute • Como e quando usar cada tipo de leiaute • Leiaute nulo 18