Introdução à Programação Gráfica em Java

Documentos relacionados
Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Nona aula

Programação Java. Construção de Interface gráfica. Processo Básico: OO + Eventos. Exemplo

Interfaces Gráficas (GUIs) em Java usando Swing Parte I - O básico

Componentes GUI A aparência e maneira como um usuário pode interagir com componentes AWT diferem de acordo com a plataforma. Componentes Swing permite

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 1- Interfaces Gráficas com Swing

Elaborando as Interfaces Aulas 31, 32 e 33

Manipulando Eventos em Java

Elaborando Interfaces. Prof. André Aparecido da Silva Disponível em: Aulas 16, 17, e 18

Roteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos

Exercício 1: Criar um programa que utiliza que desenha uma interface gráfica tal como descrito na Figura 1.1.

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

Aula 2 Even e to t s d o M ouse

Aula 15 Interface Gáfica. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

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

Elaborando as Interfaces Aulas 43, 44 e 45

Interface gráfica em Java: Swing e SWT

Aula 12 POO 1 Interface Gráfica no Java. Profa. Elaine Faria UFU

Interface Gráfica. Disciplina: Desenvolvimento de Sistemas. Professor: Thiago Silva Prates

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

MÓDULO 4 SWING Parte 3

8. Interfaces Gráficas de Usuário

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1

Linguagem de Programação II GUI Interface Gráfica com o Usuário

Tecnólogo em Análise e Desenvolvimento de Sistemas

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

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos

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

Técnicas de Programação II

Agenda. JFC (Java FoundaNon Classes) Interfaces Gráficas: layout manager JFC. Componentes do Swing. Pluggable Look and Feel

Interfaces Gráficas com Swing. Professor Leonardo Larback

JAVA. Marcio de Carvalho Victorino. Interface Gráfica em Java (GUI)

Desenvolvimento de Aplicações Desktop

JFrame. JLabel : Utilizado como rótulo para exibição de texto e ícones. Interface Gráfica de JAVA - Graphical User Interface (GUI)

Java Foundation Classes Coleção de pacotes para criação de aplicações completas Desktop Interfaces gráficas (GUIs- Graphical User Interface)

Layout. Programação Orientada a Objetos Java. Prof. Geraldo Braz Junior. Baseado em material original de João Carlos Pinheiro CEFET/MA

Programação Orientada a Objetos

API Swing Java. 1. Introdução. 2. Objetivos. 3. Surgimento do Swing. André Scarmagnani 1, Matheus Madalozzo 1, Miguel Diogenes Matrakas 1

Programação Orientada a Objetos com Java. Prof. Júlio Machado

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1

Gerenciadores de Layout

Aplicação Linguagem de Programação Orientada a Objeto

1) Responda de acordo com os conceitos de orientação a objetos (0,5).

JFC/Swing. LPGII - Java Interface Gráfica JFC/Swing. Introdução JFC / Swing. Introdução JFC / Swing

MODEL-VIEW-CONTROLER. Prof. Fellipe Aleixo

Gerenciamento de Layout

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

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

COM220 Aula 17: Interface Gráfica Containers Swing

1) DADOS DA OBRA: Programando em Java 2 Teoria e Aplicações Rui Rossi dos Santos 2004 Axcel Books (

Interface Gráfica com o Usuário (GUI) Profa. Isabel Harb Manssour (Material adaptado das aulas da Profa. Luciana Nedel e do Prof.

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

Interface Gráfica. Prof. Marcelo Cohen

Interfaces Gráficas (GUIs) em Java usando Swing

Aula 11: Interfaces gráficas (1/2): elementos de interface Swing

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

Java First-Tier: Aplicações. Abstract Window Toolkit (AWT) Construção de Interfaces com Swing (I) Swing: Características

Classe Abstrata e Interface

JTextArea JMenuBar JTable JDesktopPane e JInternalFrame

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 4- Tratamento de Eventos em Interfaces Gráficas

Adding User Interaction

Programação Gráfica em Java.

A classe JTextField

JMENU, JDESKTOPPANE E JINTERNALFRAME

JCheckbox JRadioButton JComboBox JList JMenu... Alguns componentes já vistos em aula JButton JLabel JTextField

Pacote Java Swing Parte 1

HABILITANDO A IDE DO ECLIPSE

Programação Orientada a Objetos II

Interfaces Gráficas POO. Prof. Márcio Delamaro

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

Transcrição:

Introdução à Programação Gráfica em Java U N I V E R S I D A D E T E C N O L Ó G I C A F E D E R A L D O P A R A N Á D E P A R T A M E N T O A C A D Ê M I C O D E E L E T R Ô N I C A P R O F. V I T O R Y A N O

Pacotes Java Dois grandes pacotes Java trazem outros pacotes internos e classes prontas com funcionalidades diversas: pacote java classes padrões da linguagem para o funcionamento geral do algoritmo; pacote javax pacotes de extensão que fornecem classes e objetos que implementam maiores funcionalidades a um programa Java.

Pacotes AWT e Swing O AWT (Abstract Windowing Toolkit), pertencente ao pacote java, é o primeiro pacote a fornecer classes específicas para programação gráfica de interface com o usuário. O Swing é um pacote baseado no AWT, implementado a partir da versão 1.2 da linguagem Java que apresenta diversas vantagens que serão mostradas posteriormente. Pertence ao pacote javax.

AWT

AWT

AWT

Usando o pacote AWT Para utilizar as classes de um pacote, é preciso importá-las. Exemplo: import java.awt.frame; import java.awt.button; Para importar todas as classes de um pacote, pode-se usar um asterisco: import java.awt.*;

Criando uma janela com AWT Uma janela é criada através da classe Frame. Esta classe possui os diversos métodos necessários para sua personalização e adição de componentes.

Exemplo: criando uma janela com botão import java.awt.*; public class ProgramaAWT { public static void main(string[] args) { Frame janela = new Frame("Janela AWT"); Button btnok = new Button("OK"); janela.add(btnok); janela.setsize(300, 200); janela.setresizable(false); janela.setvisible(true); } }

Criando uma janela com AWT O problema desta forma de construção de janelas é que dificulta o controle de eventos. No exemplo mostrado, a janela não pode ser fechada e o botão não possui função nenhuma.

Criando uma janela com AWT O modo mais usado para a criação de uma janela gráfica é a criação de uma subclasse da classe Frame, o que permite implementar novos métodos.

Exemplo: criando uma janela com botão 2 import java.awt.*; public class ProgramaAWT extends Frame { private Button btnok = new Button("OK"); public static void main(string[] args) { } ProgramaAWT janelaprincipal = new ProgramaAWT(); } // construtor da classe ProgramaAWT ProgramaAWT() { super("janela AWT"); add(btnok); setsize(300,200); setresizable(false); setvisible(true); }

Controle de eventos Para fechar a janela, utiliza-se a interface WindowListener, pertencente ao pacote java.awt.event. Uma interface é uma classe que possui apenas declarações de métodos, ou seja, não possui métodos implementados e nenhum atributo; Uma interface não pode ser instanciada diretamente, ela serve para definir um padrão de métodos a serem implementados em uma classe.

Interface WindowListener package java.awt.event; import java.util.eventlistener; public interface WindowListener extends EventListener { public void windowopened(windowevent we); public void windowclosing(windowevent we); public void windowclosed(windowevent we); public void windowiconified(windowevent we); public void windowdeiconified(windowevent we); public void windowactivated(windowevent we); public void windowdeactivated(windowevent we); }

Controle de eventos Para fechar a janela, importar o pacote: import java.awt.event.*; Implementar a interface WindowListener: public class ProgramaAWT extends Frame implements WindowListener { Adicionar o controle de eventos à janela (no método construtor): addwindowlistener(this);

Controle de eventos Implementar os métodos: //executado após a janela ser aberta public void windowopened(windowevent we) { } //executado quando o usuário requisita o fechamento da janela public void windowclosing(windowevent we) { System.exit(0); } //executado após o fechamento da janela public void windowclosed(windowevent we) { } //executado quando a janela é minimizada public void windowiconified(windowevent we) { } //executado quando a janela retorna de minimizada para normal public void windowdeiconified(windowevent we) { } //executado quando a janela recebe o foco no sistema operacional public void windowactivated(windowevent we) { } //executado quando a janela perde o foco no sistema operacional public void windowdeactivated(windowevent we) { }

Controle de eventos Para atribuir uma ação ao clicar no botão, pode-se implementar a função handleevent da classe Frame ou implementar a interface ActionListener, semelhante à WindowListener.

Container Nas versões mais recentes do Java, o botão adicionado à janela no exemplo preenche todo o espaço disponível em versões anteriores não era possível adicionar componentes diretamente a um Frame; Para poder adicionar mais componentes, deve-se utilizar um Container; O Container mais simples é o painel (classe Panel).

Exemplo: adicionando dois botões import java.awt.*; public class ProgramaAWT extends Frame { private Panel pan1 = new Panel(); private Button btnok = new Button("OK"); private Button btncancel = new Button( Cancelar"); public static void main(string[] args) { ProgramaAWT janelaprincipal = new ProgramaAWT(); } } // construtor da classe ProgramaAWT ProgramaAWT() { super("janela AWT"); pan1.add(btnok); pan1.add(btncancel); add(pan1); setsize(300,200); setresizable(false); setvisible(true); }

AWT Existem diversas outras propriedades dos componentes AWT, eventos, caixas de diálogo, menus, layout, etc. Todas as classes e métodos do pacote estão documentados no site da Oracle: http://download.oracle.com/javase/7/docs/api/java /awt/package-summary.html

AWT x Swing A classe AWT faz chamadas diretamente para o sistema operacional para exibir os componentes da interface gráfica, isto é, usa funções nativas do mesmo. Isso torna seu código mais leve e mais rápido, além de manter a interface com a mesma aparência do sistema operacional onde está sendo executada; Porém, isso torna o aplicativo dependente da plataforma, e o conjunto de componentes oferecido se torna limitado ao existente em qualquer sistema operacional

AWT x Swing A partir da versão 1.2 da linguagem Java, o pacote de classes Swing passou a ser incorporado. Este pacote implementa todos os componentes de interface, tornando-o independente do sistema operacional ou ambiente de janelas. Além disso, permite a criação de um conjunto ilimitado de componentes de interface; A desvantagem do Swing em relação ao AWT é o desempenho, pois neste caso todo o controle da interface é de responsabilidade da JVM e não do sistema operacional

Swing As classe do pacote Swing são 100% compatíveis com as do AWT, ou seja, todos os métodos das classes AWT são implementadas, além de outras; Basicamente, a diferença na nomenclatura das classes está na inclusão de uma letra J no início do nome: JFrame, JPanel, JButton, JLabel, JTextField, JCheckBox, porém há exceções, como JRadioButton e JComboBox. Além dos componentes já existentes no AWT, o Swing implementa outros mais avançados, como JTabbedPane, JToolBar, JInternalFrame, JColorChooser, JFormattedTextField, JSpeener, JPasswordField, JMenuBar, entre outros.