Java Linguagem de programação

Documentos relacionados
PROGRAMAÇÃO ORIENTADA A OBJETOS -INTERFACES GRÁFICAS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

{ System.exit(0); Exemplo (WindowAdapter) import java.awt.*; import java.awt.event.*;

Entender princípios de projeto. Capacitação para construir GUIs. Entender os pacotes que contém componentes de GUI, e as classes e interfaces de

Curso de Aprendizado Industrial Desenvolvedor WEB

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

Programação Orientada a Objetos II

Objectivos:. Construir programas com interfaces gráficas Graphical User Interface (GUI) application programs

Programação Gráfica em Java.

Orientação a Objetos

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Arquitetura de Tratamento de Eventos em Programas com GUI - Graphical User Interface

Introdução a Java. Hélder Nunes

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

Pacote Java Swing Parte 1

Exemplo 1. Um programa que cria uma instância de uma classe que herda da classe Frame

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Programação III. Interface Gráfica - Swing. Interface Gráfica Swing Jocélio Passos joceliodpassos@bol.com.br. Interface Gráfica - Swing

INTRODUÇÃO 12. DOCUMENTAÇÃO INTRODUÇÃO INTRODUÇÃO

Programação Orientada a Objetos em Java. GUI Graphical User Interface

Interface Gráfica. LPG II Java Interface Gráfica AWT. Introdução. AWT - Abstract Window Toolkit

Interfaces Gráficas: Interações Complexas

Introdução à Linguagem Java

Informática Básica. Microsoft Word XP, 2003 e 2007

Natureza do Software e dos Sistemas

Prototype, um Design Patterns de Criação

SAMUEL SEAP INFORMÁTICA. Rua Lúcio José Filho, 27 Parque Anchieta Tel:

JAVA APLICAÇÕES GRÁFICAS Propriedade Utilizada: FontSizeAnimation

Noções de. Microsoft SQL Server. Microsoft SQL Server

Interface Gráficas Parte I. Bruno Crestani Calegaro

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

AMBIENTE. FORMULÁRIO: é a janela do aplicativo apresentada ao usuário. Considere o formulário como a sua prancheta de trabalho.

Microsoft Office PowerPoint 2007

Manual do Painel Administrativo

Sistema de Recursos Humanos

ECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO

SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA... 1

Interface com o Usuário (UI) UIs Desacopladas (2/3) BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos

3 SCS: Sistema de Componentes de Software

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Planejando o aplicativo

Aula Au 3 la 7 Windows-Internet

Técnicas de Programação II

O Primeiro Programa em Visual Studio.net

CURSO DE PROGRAMAÇÃO EM JAVA

Windows Explorer. Prof. Valdir

1. Apresentação Objetivos

SISTEMAS OPERACIONAIS

Java Linguagem de programação

Programação de Interfaces Gráficas. Aula 1. Carlos Eduardo de Carvalho Dantas

Especificação do 3º Trabalho

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

Microsoft Office Word 2007

Sumário 1. SOBRE O NFGoiana DESKTOP Apresentação Informações do sistema Acessando o NFGoiana Desktop

Como Gerar documento em PDF com várias Imagens

Escolhendo recursos de Ajuda

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA TREINAMENTO EM INFORMÁTICA MÓDULO V

Apostila Oultlook 2007 Prof. Fabrício Melo

Tabela e Gráficos Dinâmicos Como estruturar dinamicamente dados no Excel

Manual do Spectacle. Boudhayan Gupta Boudhayan Gupta Tradução: André Marcelo Alvarenga

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

Prof. Esp. Adriano Carvalho

INTERFACE COM O USUÁRIO (em Java) Programação Orientada a Objetos

Programação Orientada a Objetos em Java

Lição 1 - Criação de campos calculados em consultas

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Manual de Conversão para PDF Envio de Arquivos ao Diário Oficial

Engenharia de Software III

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

RUI ROSSI DOS SANTOS PROGRAMAÇÃO DE COMPUTADORES EM. Java

DIFERENÇAS ENTRE FUNÇÃO E BLOCO FUNCIONAL; CRIAÇÃO DE FUNÇÃO / BLOCO FUNCIONAL; UTILIZAÇÃO NO LADDER; EXEMPLO DE BLOCO FUNCIONAL;

Versão PIMACO AUTOADESIVOS LTDA. Assistente Pimaco Ajuda ao Usuário

COMO USAR DOIS MONITORES NO WINDOWS 8

ROTINAS PADRÕES DO SISTEMAS

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Manual do PolicyKit-kde. Daniel Nicoletti Tradução: Luiz Fernando Ranghetti

Interfaces Gráficas parte 3

Análise e Projeto Orientados por Objetos

Tutorial Gerar arquivo PDF. Gerando um documento pdf com várias imagens 1- Inserir imagem no Word

Conhecendo o Proteus

CENTRO UNIVERSITÁRIO CATÓLICA DE SANTA CATARINA PRÓ-REITORIA ACADÊMICA NÚCLEO DE EDUCAÇÃO EM AMBIENTES DIGITAIS NEAD

COLÉGIO ESTADUAL PAULO LEMINSKI APOSTILA SOBRE O BROFFICE IMPRESS

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

Apostila de Windows Movie Maker

2 Diagrama de Caso de Uso

Banco de Dados BrOffice Base

8. Interfaces Gráficas de Usuário

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.

Este tutorial está publicado originalmente em

Menu Utilitários. Atualização do Banco de Dados Atualização e organização dos arquivos existentes

Manual do Publicador. Wordpress FATEA Sistema de Gerenciamento de Conteúdo Web

Sumário. Computação Gráfica Illustrator

APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

Técnicas de Programação II

Linguagens de. Aula 02. Profa Cristiane Koehler

Amostra da apostila do curso de DashBoards no Excel a partir da página 104:

APOSTILA LINUX EDUCACIONAL

Sistema Protocolo, Tramitação e Arquivamento de Processos Manual do Usuário

Objetivos: Entender o funcionamento dos programas Java via linha de comando

Java 2 Standard Edition Como criar classes e objetos

Transcrição:

APLICAÇÕES GUI COM AWT Aplicações gráficas são aquelas destinadas à execução dentro dos ambientes gráficos oferecidos por vários sistemas operacionais. Uma GUI [Graphical User Interface é um ambiente pictórico que oferece uma interface padronizada mais simples e intuitiva para os usuários. Cada sistema operacional pode oferecer uma GUI com aparência [look and feed distinta, tal como o modelo COM da Microsoft, o Presentation Manageróa IBM, o NeWS da Sun ou o X-Window System (MIT), incorporado a muitos sistemas Unix. A linguagem Java oferece capacidades únicas no desenvolvimento de aplicações gráficas que, sem modificação ou recompilação, podem ser executadas em diferentes ambientes gráficos, uma vantagem significativa, além do próprio desenvolvimento de aplicações gráficas. Componentes e a AWT Um dos elementos-chave do sucesso das GUIs é a utilização de componentes padronizados para a representação e operação da interface em si. Um componente GUI é um objeto visual com o qual o usuário pode interagir por meio do teclado ou mouse, permitindo realizar uma ou algumas dentre diversas operações: a entrada de valores numéricos ou de texto, a seleção de itens em listas, a marcação de opções, o desenho livre, o acionamento de operações etc. Os componentes GUI (GUI componente), também chamados de wídgets {window gadgets dispositivos de janela), são os elementos construtivos das interfaces GUI, isto é, são botões, caixas de entrada de texto, caixas de lista, caixas de seleção, botões de seleção única, botões de seleção múltipla, barras de rolagem etc. Também existem componentes que não são visuais, destinados a oferecer compatibilidade com os demais componentes, promover o acesso de dados ou outras tarefas com as quais o usuário não necessite interagir diretamente. O Java oferece uma ampla biblioteca de componentes GUI e de capacidades gráficas, na forma de classes pertencentes ao seu pacote java.awt. A AWT {Abstract Window Toolkit, como é mais conhecida, oferece classes comuns e abstraias, relacionadas à renderização e obtenção de informações do sistema gráfico oferecido pela plataforma em que opera a JVM. Uma hierarquia parcial das classes da AWT pode ser vista na Figura Abaixo Hierarquia parcial de classes java.awt. Todas as classes básicas da AWT são extensões da classe Object, que é, em última análise, a maior acesse de todas as classes Java. A classe Color oferece meios para a representação de cores. A classe abstrata Component é a base para a construção de todos os componentes GUI

oferecidos pelo Java através da AWT; sendo a classe Event destinada ao tratamento de eventos das interfaces construídas. A classe Font trata das fontes, de suas características e da representação. A classe. Graphics oferece um sofisticado conjunto de primitivas de desenho, enquanto a classe Image se preocupa com a manipulação de imagens. A classe Toolkit permite obter informações sobre o sistema gráfico em uso pela JVM. A proposta central da AWT é fornecer o maior conjunto comum entre as plataformas aceitas pelo Java, isto é, a AWT implementa componentes e facilidades que podem ser reproduzidos de forma equivalente entre as diversas plataformas para as quais se pretende utilizar o Java, garantindo o máximo de portabilidade. Outro ponto importante é que ao usarmos a AWT estamos, na verdade, utilizando os componentes nativos de cada um dos sistemas aceitos de forma equivalente. Ou seja, com determinado componente do Java, um botão, por exemplo, construímos aplicações que farão o mesmo uso desse componente, independentemente de estarmos executando a aplicação no Microsoft Windows, Unix X-Windows ou Motif, ou em qualquer outra plataforma compatível. Mesmo que a aparência do componente seja ligeiramente diferente, o comportamento e a funcionalidade durante a operação serão os mesmos. A AWT é uma biblioteca que implementa um mecanismo peer-to-peer, isto é, cada classe correspondente a um componente AWT é uma 'casca' para o acesso aos componentes nativamente implementados em cada sistema operacional. Cada JVM implementa as chamadas adequadas para que a funcionalidade desejada de cada componente seja obtida; sendo assim, a AWT é uma interface padronizada para o acesso às diferentes bibliotecas de componentes das diversas GUIs aceitas pelo Java. Construindo uma aplicação gráfica Quando nos decidimos pela construção de uma aplicação gráfica, é necessário, antes de tudo, irojetarmos uma interface para a aplicação, ou seja, é preciso determinar quais tarefas devem ser Balizadas pela interface, quais componentes serão utilizados, qual o objetivo de seu uso e qual a lisposição desejada para tais componentes. Embora o JDK não ofereça uma ferramenta para a construção visual de interfaces gráficas, tal orno o Microsoft VisualBasic ou o Borland Delphi, a partir desse planejamento básico, podemos leterminar todo o código necessário. A implementação de uma aplicação gráfica envolve três passos simples: 1. Seleção e instanciação dos componentes selecionados. Escolhidos os componentes que serão utilizados, cada um deles deve ser inicialmente preparado. Como um componente é uma classe, basta instanciarmos um objeto da classe desejada e, depois, ajustarmos suas características, conforme desejado. Se o componente for posteriormente modificado, devemos manter uma referência para tal finalidade. : Usualmente, os componentes da interface são associados a variáveis-membro da classe para que possam ser referenciados por todos os seus métodos. Um exemplo de instanciação de componentes poderia ser: // declaração de atributos da classe private Button button1; private Button button2; : // construtor da classe button1 = new Button("Ok"); button2 = new Button("Fechar");

2. Adição dos componentes na interface. Todos os componentes que deverão ser exibidos na interface devem ser individualmente adicionados à mesma, ou seja, cada um dos componentes deve ser adicionado em um dos containers (contêineres) existentes na interface, usualmente uma janela. O posicionamento dos componentes deve ser especificado pelo programador ou controlado por um dos gerenciadores de layout oferecidos pelo Java. Os botões instanciados no passo anterior poderiam ser adicionados à interface, como é sugerido abaixo: // Adição de componentes add(buttonl); add(button2, BorderLayout.SOUTH); // utilizando o layout padrão // utilizando o BorderLayout 3. Registro dos métodos processadores de eventos. A interface das aplicações é verdadeiramente renderizada pela GUI oferecida pelo sistema operacional. Assim sendo, quando ocorre a interação do usuário com a aplicação, por intermédio do teclado ou do mouse, o sistema operacional envia para a aplicação (responsável pela janela) uma série detalhada de mensagens narrando o tipo e a forma da interação. Para que a aplicação possa processar a interação do usuário, métodos especiais [event listeners, capazes de receber tais mensagens, devem ser adicionados à aplicação e associados aos componentes que desejamos que sejam capazes de reagir à interação com o usuário. Um exemplo de registro de tais métodos para os botões do exemplo seria: // registro dos listeners buttonl.addactionlistener(this); button1.addactionlistener(new ButtonHandler()); Muitos dos detalhes relacionados nesses passos ainda não foram tratados, mas o importante é que tenhamos noção do roteiro a seguir. O primeiro passo é conhecer quais são os componentes básicos e como eles podem ser instanciados e utilizados. O segundo passo é a adição desses componentes à interface das aplicações. O terceiro e último passo é como controlar os eventos produzidos pêlos componentes, o que é necessário ao funcionamento das interfaces GUI. Componentes básicos A classe abstraia Component é a base para a construção de todos os componentes GUI oferecidos Java por meio do pacote java.awt. Essa classe oferece a infra-estrutura necessária para a criação de objetos que tenham uma representação gráfica, as quais poderão ser exibidas na tela e com as quais o usuário poderá interagir. Sendo uma classe abstraia, Component não pode ser instanciada diretamente; mas, sendo a classe-base comum dos componentes da AWT, possibilita, pelo polimorfismo, o tratamento generalizado dos componentes derivados. Permite também a criação de novos componentes especiais, denominados componentes leves (lightweightcomponents, isto é, componentes não associados aos componentes nativos da plataforma pelo mecanismo peer-to-peer típico dos componentes da AWT. Essa classe dá origem aos seguintes componentes da AWT:

Uma hierarquia parcial dos componentes da AWT, com base na classe Component, é apresentada na anterior. O entendimento dessa hierarquia é fundamental para que seus componentes possam efetivamente utilizados, ou seja, a percepção de que um componente é derivado de outro e, tanto, pode compartilhar de seus métodos e demais características.

Além dos componentes mencionados, a classe Component também é base para a construção de outra classe abstraia: Container. Essa classe representa um container, ou seja, uma espécie de compartimento em que outros componentes podem ser adicionados e posicionados. Classes derivadas de Container também são containers, isto é, também podem conter outros componentes, sendo exemplos disso as janelas (Frame, Dialog e Window) e os painéis (Panei e ScrollPane).

Hierarquia parcial de classes java.awt (componentes GUI).

Frame O Componente Frame é uma janela do sistema gráfico que possui uma barra de título, bordas e, forme o sistema operacional, um menu de controle, apresentando-se como uma janela normal GUI. Como é uma subclasse de Container (veja a Figura 5.2), pode conter outros componentes, Io esta sua finalidade principal. O controle do posicionamento e dimensionamento defaultpara omponentes adicionados a um Frame é o BorderLayout, como será discutido mais à frente, lementa a interface MenuContainer, de forma que também possa conter uma barra de menus e (menus associados. Além disso, gera eventos do tipo WindowEvent, relacionados à sua rtura, solicitação de fechamento, fechamento, iconização, ativação e desativação. A estratégia para a criação de aplicações gráficas se baseia no uso do componente Frame. Para (.janela de aplicação, usualmente criamos uma nova classe que estende a classe Frame e, com obtemos duas facilidades: uma janela para a apresentação gráfica da aplicação e um container ) disposição de outros componentes GUI da aplicação. Na classe do Frame que desejamos ^primeiramente, efetuamos a importação do pacote java.awt, declaramos um construtor que ajustará o Frame conforme a necessidade e adicionamos um método mal n(), que se torna responsável pela instanciação e exibição do Frame por meio do método show() (que pertence à classe Window, superciasse de Frame). Observe o exemplo a seguir: // Janela1.java import java.awt.*; public class Janela1 extends Frame { // construtor public Janela1() { settitle("demonstracao de Janela #1"); // titulo setlocation(50, 50); // posicao setsize(320, 160); // tamanho // main public static void main (String args[]) { Janela1 f = new Janela1(); // instanciacao f. show(); // exibicao

Java Linguagem de programação Java.awt.Frame Notemos, no construtor da classe, o uso dos métodos settit1e(), setlocationü e setsize(), que, respectivamente, ajustam o título, a posição e o tamanho de nossa janela. No método ma main (), declaramos uma variável local de nome f e de tipo Framel, que conterá a nova janela depois de instanciada, finalizando com uma chamada ao método show() do objeto f. Compilando e executando a aplicação, obtemos o resultado ilustrado na abaixo: Nenhum componente é exibido, porque criamos uma janela sem conteúdo. Tente modificar o tamanho e a posição da janela, experimentando também minimizá-la e maximizá-la. Apesar do comportamento esperado, a janela não é fechada quando acionamos a opção Fechar. Isso ocorre por não existirem métodos processadores de

eventos capazes de receber tal mensagem encerrando a aplicação, denominados listeners. Atenção: Para encerrar qualquer aplicação, mesmo que ela deixe de responder aos controles da interface, podemos encerrar a máquina virtual Java por meio de um comando CTRL+C na janela de console exibida, o que pode ser conveniente enquanto a aplicação está sendo desenvolvida. Note que esta ação só é possível quando o console utilizado para ativar a JVM é exibido. Para que uma janela tenha seus eventos processados, é necessário tornar a aplicação capaz de receber os eventos desejados (eventos de janela WindowEvent), o que se faz implementando as interfaces de cada processador de eventos específico (listener. Existem, basicamente, três opções para realizarmos essa tarefa: 1. Utilizar a interface WindowListener diretamente na classe; 2. Utilizar a classe WindowAdapter como uma inner class anónima; e 2. Construir uma classe específica para essa finalidade, utilizando-a posteriormente. Esta forma compacta de construção demonstra a flexibilidade do Java ao utilizar os princípios da orientação a objetos. Comprovamos, ao executar essa aplicação, que esta solução proporciona o mesmo comportamento que o obtido na implementação de todos os métodos da interface WindowListener. Para cada classe Java implementada, o compilador produz um arquivo.c1 a s s. As classes anónimas, utilizadas sempre como classes internas (inner classes), não fogem à essa regra, mas utilizam uma denominação especial. Para uma classe de nome A, que, compilada, se torna A. class, suas classes internas seriam denominadas A$1. class, A$2. e assim por diante, conforme compiladas. A última solução proposta utiliza uma estratégia semelhante quanto ao uso da classe WindowAdapter, mas efetua essa implementação explicitamente em uma classe separada (um outro arquivo-fonte) salvos no mesmo diretório de preferencia. Tal como a seguir: 1º arquivo // FechaSai.java

Parte 04 10 import java.awt.*; import java.awt.event.*; public class FechaSai extends WindowAdapter { public void windowclosing(windowevent e) { System.exit(0); Dessa forma, o código original da aplicação, exibido no Exemplo 5.1, deve ser modificado, como indicado a seguir, para utilizar a classe CloseAndExit, possibilitando a forma mais compacta de código para implementar um Frame com capacidade de ser fechado. Observe como instanciamos um objeto do tipo CloseAndExit, registrando-o diretamente como processador de eventos (listener) da janela. 2º arquivo //Janela4.java import java.awt.*; public class Janela4 extends Frame { // construtor public Janela4() { settitle("nasa Informatica - Fecha Janela com arquivo externo "); setbounds(50, 50, 320, 160); // posicao e tamanho addwindowlistener(new FechaSai()); // titulo // main public static void main (String args[]) { new Janela4().show(); // instanciacao e exibicao Se compilada e executada, notamos que essa aplicação é funcionalmente idêntica às anteriores, capazes de fechar a janela. Concluímos que o uso da classe separadamente (Exemplo acima) confere maior simplicidade ao código, além de possibilitar sua reutilização em outras aplicações. Como, muitas vezes, cada aplicação precisa de uma solução específica, o uso de classes internas anónimas pode tornar-se flexível o suficiente quando tivermos que implementar um ou dois métodos em cada uma dessas classes anónimas. Caso a interface desejada tenha muitos métodos, a melhor

Parte 04 11 alternativa é a implementação de todos os métodos da interface diretamente na classe, como no anterior. De qualquer forma, o Java possibilita que o programador decida qual a forma que lhe parece mais apropriada. Como último exemplo, destinado especificamente ao uso da classe Frame, mostramos um uso das classes Color, Cursor, Dimension e Toolkit. Como se pode notar, a API do Java peca na denominação de constantes. Embora a recomendação seja de que seus nomes devem ser escritos exclusivamente com maiúsculas, as constantes das várias classes nem sempre respeitam essa regra, a perceber pelas classes Color, cujos nomes utilizam apenas minúsculas, e Cursor, cujos nomes estão grafados com maiúsculas. java.awt.color

Parte 04 12 java.awt.cursor java.awt.dimension

Parte 04 13 java.awt.toolkit Acompanhando o código abaixo, podemos observar como as dimensões da tela )m obtidas por meio de uma ativação encadeada de dois métodos da classe Toolkit: a primeira ima o objeto Toolkit do sistema, e a segunda obtém um objeto Dimension, que encapsula a ira (hei ght) e a largura (wi dth) da tela em pixeis (quanto maior for a resolução utilizada, maior ao as dimensões obtidas). Em seguida, ajustamos o título exibido pela janela, incluindo o tamanho obtido. A posição e o lanho da janela são ajustados por meio do método setbounds (), para que a janela tenha 1/2 da largura e 1/4 da altura da janela, sendo centralizada horizontalmente. Com o uso dessas duas classes, determinamos dinamicamente o tamanho e a posição da janela da aplicação, em função do tamanho da tela.

Parte 04 14 Utilizando uma das constantes da classe Cursor, criamos um novo cursor, fazendo com que nossa ela o utilize; e também um novo objeto Color, com a definição de cor (R=128, G=255 e B=128), utizando-a como nova cor de fundo da janela. Observe que, para utilizar as constantes das classes color e Cursor, devemos preceder seus nomes com a denominação da classe em que elas estão definidas; assim, teríamos Color.orange ou Cursor.CROSSHAIR_CURSOR. // Janela5.java import java.awt.*; import java.awt.event.*; public class Janela5 extends Frame { public Janela5() { // obtemos tamanho da tela Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); // ajustamos titulo com tal informacao settitle("nasa Informatica - Janela em tamanho: "+d.width+"x"+d.height); // janela centralizada com 1/2 largura e 1/4 altura da tela setbounds(d.width/4, d.height/4, d.width/2, d.height/4); // trocamos o cursor setcursor(new Cursor(Cursor.CROSSHAIR_CURSOR)); // determinamos nova cor de fundo setbackground(new Color(128, 255, 255)); // classe anonima para eventos da janela addwindowlistener(new WindowAdapter() { public void windowdosing(windowevent we) { System.exit(0); ); public static void main(string a[]) { new Janela5().show(); Finalmente, utilizamos uma classe anônima para definir um processador de eventos de janela, como foi feito anteriormente. O método main() também é semelhante aos anteriores. Compilando e executando esse método, obtemos o resultado visto na Figura abaixo

Parte 04 15 Observação: mova o Cursor para dentro da Janela do java em cor azul claro Tarefa: Mude os API s para praticar mais sobre janelas, cores, cursores, fechar, e outros que você já aprendeu. Nasa Informática