Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Milton Escóssia 2018 PROGRAMAÇÃO II - CCT0418 Aula - 3 – Introdução ao Java Swing Unidade 1. Criação de interfaces gráficas usando as JFC/Swing • 1.1. Introdução • 1.2. Hierarquia de classes • 1.3. Modelos de desenvolvimento de interfaces gráficas • 1.3.1. Desenvolvimento do SWING para GUI • 1.3.2. Gerenciadores de layout • 1.3.3. Layouts compostos • 1.3.4. Manipulação de aspectos visuais • 1.3.5. Variações de componentes visuais Introdução O avanço tecnológico dos sistemas operacionais e dos computadores permitiram o surgimento de ambientes gráficos para facilitar sua operacionalização. Os usuários estão habituados, desde a década de 90, a interagir com sistemas computacionais através de interfaces gráficas (GUI – Graphic User Interface). Para atender a essa necessidade a SUN ao lançar a versão 1.0 do Java, incluiu uma biblioteca gráfica chamada AWT – Abstract Window Toolkit. A Biblioteca Gráfica AWT Disponibilizada na versão 1.0 do JDK do Java AWT - Abstract Window Toolkit – Kit de ferramentas para janelas abstratas. Tinha por objetivo a independência de plataforma; Delegava aos toolkits das plataformas nativas a criação e o comportamento dos componentes de interface gráfica; Modelo de eventos pobre e ineficiente; Incompatibilidades de apresentação entre as diversas Plataformas (“Write Once, Debug Everywhere!!!”). Java Foundation Classes (JFC) Lançado na versão 1.1 do Java, foi criado para resolver as limitações que a biblioteca AWT apresentava, e também para incorporar outras bibliotecas gráficas. A JFC é um conjunto de pacotes usados para criação de interfaces gráficas com o usuário (GUI) utilizados em aplicações portáveis Java. Fornece um interface gráfica consistente para construção de aplicações Java para Windows, MacOS ou Linux. Características da JFC Componentes de interface gráfica do Swing; Suporte a diversos look & feel; Suporte a usuários com deficiências; Suporte a drag & drop; Suporte a aplicações gráficas 2D. Componentes do JFC Componentes Swing GUI Suporte a componentes Look-and-Feel plugáveis API de acessibilidade API Java 2D Internacionalização Swing O Swing é uma coleção de componentes gráficos adaptáveis; • Utiliza componentes lightweight: Não dependem do código nativo da plataforma alvo; Possuem comportamento similar nas diversas plataformas suportadas; Possuem look & feel configurável; Conjunto reduzido de top level containers. AWT x Swing Passos para criar uma GUI Importação dos pacotes Swing; Definição do container de mais alto nível; Seleção da aparência (look & feel); Definição dos componentes visuais; Adição dos componentes ao container; Adição de bordas em componentes; Manipulação de eventos. Hierarquia de Classes Componentes e Containers Os elementos de interface com o usuário são classificados em componentes e containers; Componente Define um componente de interface, como um botão, uma caixa de texto ou uma combo box; Métodos como paint() e repaint(); Container Define um componente que pode conter outros componentes; Define métodos como add(), para adicionar componentes em seu interior; Possui um gerenciador de layout. Componentes do Swing O Swing é um framework que disponibiliza um conjunto de elementos gráficos para ser utilizado na plataforma Java. O Swing é compatível com o Abstract Window Toolkit (AWT), mas trabalha de forma totalmente diferente. O AWT não delega a tarefa de renderização ao sistema operacional, O Swing renderiza os elementos por conta própria. A API AWT é uma biblioteca de baixo-nível que depende de código nativo da plataforma. possui problemas de compatibilidade entre as plataformas, fazendo com que nem sempre o programa tenha a aparência desejada em todos os sistemas operacionais. O Swing é mais completo e os programas têm uma aparência muito parecida, independente do sistema operacional que está sendo utilizado, possui uma enorme gama de controles extras disponíveis. Trabalhando com Janelas de Diálogo - JOptionPane Representa uma janela de diálogo para exibição de mensagens e entrada de dados. Provê um conjunto de métodos estáticos para criar caixas de diálogos simples e objetivas. Pacote javax.swing.JOptionPane. JOptionPane – Tipos de Janelas showConfirmDialog Solicita confirmação de uma questão como: yes/no/cancel. showInputDialog Exibe um prompt para input de dados. showMessageDialog Exibe uma janela de diálogo para exibir uma mensagem. showOptionDialog Janela de dialogo que unifica os três tipos acima. Exemplo Janela e Painel Janela É o container de mais alto nível (top level container); Existe para prover espaço para apresentação dos componentes Swing. Painel É um container intermediário; Existe para controlar o posicionamento dos componentes. Componentes atômicos, como botões e linhas de edição, realizam a interação com o usuário propriamente dita. JFrame Representa uma janela Swing; Seu construtor pode receber uma string com o título da janela; Possui um painel invisível, chamado ContentPane; Os componentes da janela são inseridos neste painel; Pode conter uma barra de menu. Estrutura de um JFrame Camadas do JFrame RootPane Gerencia as demais camadas. LayeredPane Contém a menu bar e o ContentPane; Pode conter várias subcamadas. ContentPane Contém os componentes visíveis. GlassPane invisível por default; interceptação de eventos/pintura sobre uma região. JFrame – Métodos Importantes void setBounds(int x,int y,int width,int height) void setSize(int width,int height) void setLocation(int x,int y) void setVisible(boolean b) void setTitle(String title) Container getContentPane() void setJMenuBar(JMenuBar menubar) JMenuBar getJMenuBar() void setResizable(boolean resizable) void setLocationRelativeTo(Container c) JFrame – Métodos Importantes void setDefaultCloseOperation(int op) Valores válidos para op: EXIT_ON_CLOSE HIDE_ON_CLOSE DISPOSE_ON_CLOSE DO_NOTHING_ON_CLOSE JFrame Formas de Criação de uma aplicação usando JFrame: Por associação (instanciação) Por Herança Principais Construtores: JFrame(String title) JFrame() JFrame – Por Associação JFrame – Por Herança
Compartilhar