Programação Gráfica em Java Introdução Aula 01 Na aula de hoje veremos: • Pacotes gráficos da linguagem Java • Container AWT • Component AWT 2 Pacotes gráficos • A linguagem Java possui várias funcionalidades gráficas, implementadas no pacotes: – – – – JFC / AWT JFC / Swing JFC / Java2D Java3D 3 Pacote AWT • Pacote mais básico para se trabalhar com interfaces gráficas em Java. • Possui classes para os principais componentes e contêineres de uma interface gráfica com o usuário (GUI). • Permite tratamento simplificado de eventos. 4 Pacote Swing • Componentes mais especializados que os componentes AWT. • Componentes Swing são implementados sem código nativo. 5 Pacote Java2D • Pacote que permite incorporar alta qualidade gráfica em gráficos 2D, textos, imagens, aplicações e applets. • Possui um extenso suporte para composição e tratamento de imagens com canal alfa. 6 Pacote Java3D • Disponibiliza uma coleção de elementos simples que permitem criar e manipular geometria 3D. • Não faz parte das JFC, portanto necessita instalação complementar. 7 AWT • Aparência dependente de sistema operacional • Utilização de sistema de pares (peer) – Os pares traduzem a solicitação do Java ao S. O. • Componentes heavy-weight GUIWindow.java 8 Containers AWT • Window – Janela de alto nível sem bordas ou barra de menus; pode ser utilizada para a criação de janelas pop-up. • Frame – Janela de alto nível com bordas, barra de menus e título; Assim como Window, tem por padrão o gerenciador de leiaute BorderLayout. 9 Containers AWT • Dialog – Classe que produz uma caixa de diálogo, ou seja, uma janela que recebe alguma entrada do usuário. Layout padrão: BorderLayout (ex: save) • Panel – Panel é o mais simples contêiner. Um painel é um objeto que pode conter outros componentes, incluindo mesmo outros painéis, para composição do leiaute da interface gráfica. – A composição de uma GUI, geralmente, é feita por vários painéis ContainerSample.java 10 Componentes AWT • Button – Um botão é um controle simples que gera um evento de ação quando o usuário o clica. A aparência dos botões em AWT é dependente do sistema operacional. • Label – Componente que insere um texto não selecionável na área de desenho (rótulo). Tem a possibilidade de alterar o alinhamento do texto que, por padrão, é alinhado à esquerda. 11 Componentes AWT • TextField – Classe que exibe uma linha de texto selecionável e, opcionalmente editável. • TextArea – Classe que exibe uma área de texto selecionável, opcionalmente editável e com dimensões podendo ser definidas pelo programador. ComponentSampleI.java 12 Componentes AWT • Checkbox – Um checkbox (às vezes chamado de Radio Button) é um componente gráfico que pode estar em um de dois estados, “on” (true) ou “off” (false). Clicar em um checkbox alterna o seu estado entre verdadeiro e falso. • Choice – A classe choice apresenta um menu pop-up de opções. A opção mais recentemente selecionada é mostrada como título do menu. 13 Componentes AWT • List – O componente List apresenta ao usuário uma lista rolável de componentes de texto. A lista pode ser configurada para que o usuário possa escolher um ou vários itens. • Scrollbar – Um objeto do tipo Scrollbar implementa um controle deslizante. É uma maneira interessante de permitir ao usuário escolher valores numéricos em um intervalo pré-definido. ComponentSampleII.java 14 Componentes AWT • Canvas – São úteis como área de exibição de imagens e gráficos – Existe para ser subclassificado com o objetivo de se criar componentes personalizados DuploCanvas.java 15 Métodos Notáveis • Todo container é componente, logo, herda os métodos da classe componente. – – – – – – – setPreferredSize() setBackground() setForeground() setSize() setLocation() setVisible() add() CadastroII.java 16 O que você precisa saber... • • • • Como utilizar contêineres Quais são os componentes básicos Quando utilizar cada tipo Como compor a interface gráfica usando painéis 17 Na próxima aula veremos: • Tipos de eventos • Interfaces listener • Como tratar os eventos 18