Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação II Interfaces Gráficas SWING e AWT Profª Otília Objetivos • Apresentar conceitos relacionados às interfaces gráficas, segundo o padrão WIMP. • Apresentar os componentes das bibliotecas SWING e AWT; • Utilizar a biblioteca SWING para a criação de janelas. Aula 07 - Interfaces Gráficas - SWING w AWT Introdução • Interface gráfica é composta de: • Componentes • Recipientes (containers) • Layout • Eventos Aula 07 - Interfaces Gráficas - SWING e AWT Recipientes e Componentes • Componentes, controles ou widgets são os aspectos visíveis de uma GUI, como botões, menus, caixas de textos. • São colocados dentro de recipientes (containers) • Os recipientes podem conter: • Um ou mais componentes, assim como outros recipientes • Importante para construção de layouts de complexidade realista. Aula 07 - Interfaces Gráficas - SWING e AWT Swing vs AWT • A Abstract Window Toolkit (AWT) é o antigo conjunto de ferramentas para interfaces gráficas do Java • Oferece uma infra-estrutura mínima de interface gráfica • Componentes têm aparência dependente de plataforma • Limitado em recursos devido a depender de suporte de cada plataforma para os componentes oferecidos • Bugs e incompatibilidades entre plataformas Aula 07 - Interfaces Gráficas - SWING e AWT AWT vs SWING • O swing não é um substituto completo do AWT, mas fornece um conjunto muito mais rico e conveniente de componentes para interface com usuário • O Swing é menos sujeito a erros específicos de cada plataforma Aula 07 - Interfaces Gráficas - SWING e AWT Tipos de Aplicativos Gráficos • Há dois tipos de aplicações gráficas em Java • Applets executam dentro de um navegador Web • Aplicações standalone iniciadas via sistema operacional • Ambas capturam eventos do sistema e desenham-se sobre um contexto gráfico fornecido pelo sistema • Applets são aplicações especiais que executam a partir de um browser • Browser é quem controla seu ciclo de vida (início, fim, etc.) • Geralmente ocupam parte da janela do browser, mas podem abrir janelas extras • Possuem restrições de segurança Aula 07 - Interfaces Gráficas - SWING e AWT Exemplos Aula 07 - Interfaces Gráficas - SWING e AWT Exemplo (I) • Importação dos pacotes • Import do pacote SWING; • Import de pacotes AWT; • Os componentes SWING utilizam a estrutura AWT para manipulação de eventos. Por isso na maioria dos programas SWING é necessário importar estes pacotes. Aula 07 - Interfaces Gráficas - SWING e AWT Exemplo (I) Aula 07 - Interfaces Gráficas - SWING e AWT Criação do frame com o título “Exemplo de Swing” Torna visível. Exemplo(I) Aula 07 - Interfaces Gráficas - SWING e AWT Exemplo(I) – centralizar automático Aula 07 - Interfaces Gráficas - SWING e AWT É null pois não temos formulário ainda. Fechando o frame • setDefaultCloseOperation() • Existem 4 formas // 1 - não faça nada frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); // 2 - somente torne visível frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); // 3 - desaloca o frame fechado da memória frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); // 4 - fecha toda a aplicação frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Aula 07 - Interfaces Gráficas - SWING e AWT Exemplo(II) - extends Aula 07 - Interfaces Gráficas - SWING e AWT Containers de primeiro nível • Toda interface gráfica deve ter ao menos um container de primeiro nível. • Os containers de primeiro nível comumente usados são JFrame, JDialog, e (para applets) JApplet. • Estes componentes são importantes para desenhar a interface e na manipulação de eventos. • JFrame: objetos JFrame implementam uma janela principal. • JDialog: objetos JDialog implementam uma janela secundária, dependendo de outra janela. Aula 07 - Interfaces Gráficas - SWING e AWT Criação do JLabel • Este exemplo utiliza um JLabel. • JLabel é um componente que descende de JComponente e pode exibir texto e/ou imagem. • Instanciação do componentes; • Adição do componente ao frame. Aula 07 - Interfaces Gráficas - SWING e AWT Exemplo (III) Aula 07 - Interfaces Gráficas - SWING e AWT Exemplo (III) - continuação Aula 07 - Interfaces Gráficas - SWING e AWT Para que o frame seja ajustado de acordo com o tamanho e layout de seus subcomponentes Exemplo (IV) • A classe implementa ActionListener • A interface ActionListener fica “escutando”, pronta para receber ações de eventos. • O método actionPerformed(ActionEvent e) é invocado quando ocorre uma ação. Aula 07 - Interfaces Gráficas - SWING e AWT Exemplo(IV) Aula 07 - Interfaces Gráficas - SWING e AWT A classe implementa a interface ActinListener Adição de componentes ao frame • As aplicações SWING agrupam os componentes em um container (um JPanel) antes de adicioná-los ao frame. Aula 07 - Interfaces Gráficas - SWING e AWT Adição de componentes ao frame Aula 07 - Interfaces Gráficas - SWING e AWT Criação do botão Indicação do ActionListener do Botão Criação do painel e adição dos componentes Exemplo Aula 07 - Interfaces Gráficas - SWING e AWT Caixas de Diálogo • Janelas modais usadas para interação com o usuário: • Mostrar informações. • Receber entradas de dados. Aula 07 - Interfaces Gráficas - SWING e AWT Caixas de Diálogo • JOptionPane • Caixas de diálogo predefinidas: • Caixas de confirmação: Sim/Não/Cancelar • Caixas de mensagem • Caixas de entrada • Todas bastante configuráveis • Todas as caixas são modais (bloqueiam a execução do thread atual) Aula 07 - Interfaces Gráficas - SWING e AWT Caixas de Diálogo Aula 07 - Interfaces Gráficas - SWING e AWT Caixas de Diálogo - ShowMessageDialog • Caixa de mensagem: Aula 07 - Interfaces Gráficas - SWING e AWT Caixas de Diálogo - ShowConfirmDialog Aula 07 - Interfaces Gráficas - SWING e AWT Caixas de Diálogo - ShowInputDialog Aula 07 - Interfaces Gráficas - SWING e AWT Caixas de Diálogo - ShowInputDialog Aula 07 - Interfaces Gráficas - SWING e AWT Menu Aula 07 - Interfaces Gráficas - SWING w AWT Aula 07 - Interfaces Gráficas - SWING e AWT Exercícios
Compartilhar