SlideShare una empresa de Scribd logo
1 de 48
Universidade Presbiteriana Mackenzie
Aula 2a: Java AWT
Prof. Ms. Daniel Arndt Alves
Faculdade de Computação e Informática
Linguagem de
Programação II
Daniel Arndt Alves Java AWT 1
Tópicos da Aula
• Pacotes gráficos de Java
– JFC
• AWT
• Swing
• API Java 2D
– API Java 3D
Daniel Arndt Alves Java AWT 2
Tópicos da Aula
• Componentes AWT
– Classe Button
– Classe Label
– Classe TextField
– Classe TextArea
– Classe Checkbox
– Classe Choice
– Classe List
– Classe Scrollbar
Daniel Arndt Alves Java AWT 3
Tópicos da Aula
• Containers AWT
– Panel
– Window
– Frame
– Dialog
Daniel Arndt Alves Java AWT 4
Pacotes gráficos de Java
A linguagem Java possui várias funcionalidades
gráficas, implementadas através de classes em
pacotes. Os pacotes principais são:
• JFC/AWT
• JFC/Swing
• JFC/Java2D
• Java3D
Daniel Arndt Alves Java AWT 5
JFC
JFC é uma abreviação de Java Foundation
Classes, que engloba um grupo de detalhes
para auxiliar no desenvolvimento de
interfaces gráficas.
JFC foi anunciado na JavaOne Developer
Conference (1997).
Daniel Arndt Alves Java AWT 6
Detalhes englobados pelo JFC
• AWT
• Componentes Swing
• Suporte Look-and-Feel (Java Look, CDE/Motif
Look, Windows Look)
• API para acessibilidade
• API Java 2D
• Suporte para operações Drag-and-Drop
Daniel Arndt Alves Java AWT 7
AWT (Abstract Window Toolkit)
Pacote mais básico para se trabalhar com
interfaces gráficas em Java. Este pacote possui
classes para os principais componentes e
containers de uma interface, tais como
botões, janelas, etc, além de permitir um
tratamento bem simplificado de eventos.
Daniel Arndt Alves Java AWT 8
Componentes Swing
Componentes mais especializados que os
componentes AWT.
Os componentes Swing são implementados sem
nenhum código nativo (ao contrário dos
componentes AWT que, na maioria dos casos,
implementam várias funcionalidades através
de métodos nativos).
Daniel Arndt Alves Java AWT 9
API Java 2D
Pacote que permite facilmente incorporar alta
qualidade gráfica em gráficos 2D, textos,
imagens em aplicações e em applets.
Por exemplo, existe um extenso suporte para
composição de imagens e tratamento de
imagens com canal alfa.
Daniel Arndt Alves Java AWT 10
API Java 3D
A API Java 3D é uma interface para escrever
programas para exibir e interagir com
elementos tridimensionais.
A API disponibiliza uma coleção de construções
de alto nível para criar e manipular geometria
3D e estruturas para “renderizar” a
geometria.
Pode ser integrada com VRML.
Daniel Arndt Alves Java AWT 11
COMPONENTES AWT
O pacote AWT disponibiliza oito componentes básicos de
interface:
• Button
• Label
• TextField
• TextArea
• Checkbox
• Choice
• List
• Scrollbar
Daniel Arndt Alves Java AWT 12
Funcionamento dos Componentes
Quando estes componentes são mostrados, eles são
desenhados segundo o suporte gráfico do usuário.
O AWT implementa isto armazenando, dentro do
componente, um segundo objeto chamado Peer.
Quando um componente recebe uma mensagem para
ser desenhado, ele passa esta mensagem para o
objeto Peer, que faz a interface com o sistema
operacional usando métodos nativos.
Daniel Arndt Alves Java AWT 13
Funcionamento dos Componentes
Os objetos peer transformam requisições AWT em
rotinas da interface nativa do usuário e envia o
feedback do sistema operacional para o AWT.
COMPONENTE PEER
SISTEMA
OPERACIONAL
Daniel Arndt Alves Java AWT 14
Classe Button
Daniel Arndt Alves Java AWT 15
Implementa o elemento de interface botão com
rótulo.
Construtores:
• public Button( ) Botão sem rótulo
• public Button(String rótulo) Botão com rótulo
Alguns métodos:
• public String getLabel() rótulo do botão
• public void setLabel(String r) altera rótulo do botão
Classe Button (Exemplo)
Button b1 = new Button( );
Button b2 = new Button("Aperte-me");
Daniel Arndt Alves Java AWT 16
Classe Label
Daniel Arndt Alves Java AWT 17
Implementa o elemento de interface rótulo.
Construtores:
• public Label( ) Rótulo vazio
• public Label (String rótulo) Rótulo não-vazio
Alguns métodos:
• public String getText() texto do rótulo
• public void setText(String r) altera texto do rótulo
Classe Label (Exemplo)
Label r1 = new Label( );
Label r2 = new Label("label2");
Daniel Arndt Alves Java AWT 18
Classe TextField
Implementa o elemento de interface caixa de texto.
Construtores:
• public TextField( ) Tamanho do container
• public TextField(int cols) Tamanho em cols
• public TextField(String texto) Tamanho do texto
Alguns métodos:
• public String getText() texto no componente
• public void setText(String r) altera texto no componente
Daniel Arndt Alves Java AWT 19
Classe TextField (Exemplo)
TextField t1 = new TextField(30);
TextField t2 = new TextField("inicial");
Daniel Arndt Alves Java AWT 20
Classe TextArea
Implementa o elemento de interface área de texto.
Construtores:
• public TextArea(int lin, int cols)
Tamanho lin x cols
• public TextArea(String txt, int lin, int cols)
Tamanho lin x cols com texto inicial txt
Alguns métodos:
• public String getText() texto no componente
• public void setText(String r) altera texto no componente
Daniel Arndt Alves Java AWT 21
Classe TextArea (Exemplo)
TextArea t1 = new TextArea(3,10);
TextArea t2 = new TextArea("texto...",3,30);
Daniel Arndt Alves Java AWT 22
Classe Checkbox
Implementa o elemento de interface botão liga/desliga.
Construtores:
• public Checkbox( ) Botão sem rótulo
• public Checkbox(String rótulo) Botão com rótulo
Alguns métodos:
• public String getLabel() rótulo do botão
• public void setLabel(String r) altera rótulo do botão
• public boolean getState() retorna o estado do botão
Daniel Arndt Alves Java AWT 23
Classe Checkbox (Exemplo)
Checkbox c1 = new Checkbox();
Checkbox c2 = new Checkbox("rotulo");
Daniel Arndt Alves Java AWT 24
Radio Buttons
Daniel Arndt Alves Java AWT 25
Componentes Checkbox podem ser agrupados através
de instância da classe CheckboxGroup.
Somente um dos componentes do CheckboxGroup
pode estar selecionado num determinado instante.
Botões com estas características são chamados de
“radio buttons”.
Construtor:
public Checkbox(String rotulo,
CheckboxGroup grupo, boolean estado_inicial)
Radio Buttons (Exemplo)
CheckboxGroup grupo = new CheckboxGroup( );
Checkbox op1 = new Checkbox("masculino",grupo,true);
Checkbox op2 = new Checkbox("feminino",grupo,false);
Daniel Arndt Alves Java AWT 26
Classe Choice
Implementa o elemento de interface lista pop-down.
Construtor:
public Choice( )
Alguns métodos:
• public synchronized void addItem(String item)
Adiciona um item à lista
• public String getSelectedItem( )
String da opção escolhida
Daniel Arndt Alves Java AWT 27
Classe Choice (Exemplo)
Choice c = new Choice();
c.addItem("Primeiro");
c.addItem("Segundo");
c.addItem("Terceiro");
c.addItem("Quarto");
Daniel Arndt Alves Java AWT 28
Classe List
Implementa o elemento de interface lista, com
possibilidade de múltiplas escolhas.
Construtor:
public List(int lin,boolean multiplo)
lin : número de opções visíveis
multiplo: true (seleção múltipla)
false (seleção simples)
Daniel Arndt Alves Java AWT 29
Classe List
Alguns métodos:
• public synchronized void addItem(String item)
Adiciona um item à lista
• public String[] getSelectedItems( )
Vetor de Strings com as opções escolhidas
Daniel Arndt Alves Java AWT 30
Classe List (Exemplo)
List c = new List(3,true);
c.addItem("Primeiro");
c.addItem("Segundo");
c.addItem("Terceiro");
c.addItem("Quarto");
Daniel Arndt Alves Java AWT 31
Classe Scrollbar
Implementa o elemento de interface barra de rolagem.
Construtores:
public Scrollbar( ) barra de rolagem vertical
public Scrollbar(int orientação,
int valor_inicial,
int incremento,
int mínimo,
int máximo)
Daniel Arndt Alves Java AWT 32
Classe Scrollbar
Alguns métodos:
• public int getValue()
Posicionamento da barra de rolagem
• public void setValue(int pos)
Muda posicionamento da barra de rolagem para pos
Daniel Arndt Alves Java AWT 33
Classe Scrollbar (Exemplo)
Scrollbar b1=new Scrollbar();
Scrollbar b2=new Scrollbar(Scrollbar.HORIZONTAL, 50, 10, 0, 100);
Daniel Arndt Alves Java AWT 34
Containers
Containers são elementos que armazenam
componentes gráficos. Não é possível usar um
componente sem que ele esteja dentro de um
container.
Containers podem, também, armazenar outros
containers.
Daniel Arndt Alves Java AWT 35
Containers do AWT
O AWT trabalha com quatro tipos de containers:
• Painel (Panel)
• Janela (Window)
• Frame
• Diálogo (Dialog)
Daniel Arndt Alves Java AWT 36
Painel
Painel é um container “puro”, isto, não é
propriamente uma janela e seu único propósito é
organizar os componentes numa janela, utilizando
gerenciadores de layout.
Um painel, como qualquer outro container, pode ser
colocado dentro de outro painel.
Uma classe muito útil, derivada da classe Panel, é a
classe Applet.
Daniel Arndt Alves Java AWT 37
Declaração e utilização de painéis
Button botaoAB=new Button("Abrir");
Button botaoFE=new Button("Fechar");
Panel painel=new Panel(); // Instancia Painel
painel.setLayout(new FlowLayout());
painel.add(botaoAB); // Coloca botão Abrir no painel
painel.add(botaoFE); // Coloca botão Fechar no painel
Daniel Arndt Alves Java AWT 38
Janelas
A classe Window, que implementa as funcionalidades de
janelas em Java, é muito parecida como Panel, exceto
que ela cria sua própria janela de primeiro nível, em
vez de estar contida dentro de um Panel. São muito
utilizadas para menus do tipo pop-up.
Geralmente, utiliza-se frames no lugar de janelas, uma
vez que são mais especializados.
Daniel Arndt Alves Java AWT 39
Frame
Frames são janelas especializadas que
conseguem interagir com o usuário
independente de outras janelas.
Com frames, um aplicativo pode criar várias
janelas independentes.
Daniel Arndt Alves Java AWT 40
Declaração e utilização de frames
Button botaoAB=new Button(“Abrir...”);
Button botaoFE=new Button(“Fechar...”);
Frame frame=new Frame(“Exemplo de Frame”);
setLayout(new FlowLayout());
frame.add(botaoAB); // Coloca botão Abrir no frame
frame.add(botaoFE); // Coloca botão Fechar no frame
frame.show(); // Exibe o frame
frame.hide(); // Oculta o frame
Daniel Arndt Alves Java AWT 41
Diálogos
Diálogos são janelas que são ativadas
momentaneamente para redirecionar um
processamento. Por exemplo, solicitar confirmação
de substituição de arquivo numa operação de cópia.
Daniel Arndt Alves Java AWT 42
Diálogos
Diálogos podem ser:
• modais: impedem a entrada para outras janelas
enquanto estão ativos.
• não-modais: não impedem a entrada para outras
janelas.
Os elementos de um diálogo são definidos por um
frame.
Daniel Arndt Alves Java AWT 43
Declaração e utilização de diálogos
Button botaoOK=new Button("OK");
Button botaoNO=new Button("NO");
Frame frame=new Frame("Exemplo de Frame");
Dialog dialogo; // Referência para diálogo
frame.setLayout(new FlowLayout());
frame.add(new Label("Deseja fechar o arquivo? ");
frame.add(botaoOK); // Coloca botão OK no frame
frame.add(botaoNO); // Coloca botão Cancel no frame
dialogo=new Dialog(frame,"Exemplo de Dialogo",true); // Cria diálogo
// | | |
// frame referência título do diálogo modal ( false=não modal)
dialogo.show(); // Mostra diálogo
Daniel Arndt Alves Java AWT 44
Daniel Arndt Alves Java AWT 45
Daniel Arndt Alves Java AWT 46
Imagens
• http://www.goldb.org/goldblog/cmg_images/
real_programmers_binary.jpg
• http://sandersconsulting.com/Portals/58319/i
mages/checklist.jpg
Daniel Arndt Alves Java AWT 47
Obrigado
Daniel Arndt Alves
http://www.progdan.pro.br/
daniel.alves@mackenzie.br
progdan@progdan.pro.br
Daniel Arndt Alves Java AWT 48

Más contenido relacionado

La actualidad más candente

14 programando em python - interfaces graficas com tk
 14   programando em python - interfaces graficas com tk 14   programando em python - interfaces graficas com tk
14 programando em python - interfaces graficas com tk
Victor Marcelino
 

La actualidad más candente (20)

Robot framework Gowthami Goli
Robot framework Gowthami GoliRobot framework Gowthami Goli
Robot framework Gowthami Goli
 
Introduction to robot framework
Introduction to robot frameworkIntroduction to robot framework
Introduction to robot framework
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
 
Construção de interfaces gráficas com Tkinter
Construção de interfaces gráficas com TkinterConstrução de interfaces gráficas com Tkinter
Construção de interfaces gráficas com Tkinter
 
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição  (ver...POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição  (ver...
POO - Unidade 2 (parte 2) - Classe de Associação, Agregação, Composição (ver...
 
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando ArquivosAula 04 PHP - Utilizando Funções e Manipulando Arquivos
Aula 04 PHP - Utilizando Funções e Manipulando Arquivos
 
Apostila java completo
Apostila java completoApostila java completo
Apostila java completo
 
14 programando em python - interfaces graficas com tk
 14   programando em python - interfaces graficas com tk 14   programando em python - interfaces graficas com tk
14 programando em python - interfaces graficas com tk
 
Applet in java
Applet in javaApplet in java
Applet in java
 
Selection Sort
Selection SortSelection Sort
Selection Sort
 
Selenium interview questions and answers
Selenium interview questions and answersSelenium interview questions and answers
Selenium interview questions and answers
 
Capitulo 14 -_componentes_gui_parte_1
Capitulo 14 -_componentes_gui_parte_1Capitulo 14 -_componentes_gui_parte_1
Capitulo 14 -_componentes_gui_parte_1
 
Padrão Adapter
Padrão AdapterPadrão Adapter
Padrão Adapter
 
Java 11 to 17 : What's new !?
Java 11 to 17 : What's new !?Java 11 to 17 : What's new !?
Java 11 to 17 : What's new !?
 
Testing with JUnit 5 and Spring
Testing with JUnit 5 and SpringTesting with JUnit 5 and Spring
Testing with JUnit 5 and Spring
 
POO - Aula 1
POO - Aula 1POO - Aula 1
POO - Aula 1
 
POO - 17 - Interfaces
POO - 17 - InterfacesPOO - 17 - Interfaces
POO - 17 - Interfaces
 
Wrapper classes
Wrapper classes Wrapper classes
Wrapper classes
 
Linguagem C - Strings
Linguagem C - StringsLinguagem C - Strings
Linguagem C - Strings
 
Robot Framework - principais características
Robot Framework - principais característicasRobot Framework - principais características
Robot Framework - principais características
 

Destacado (10)

Java RMI
Java RMIJava RMI
Java RMI
 
Java Platform, Enterprise Edition
Java Platform, Enterprise EditionJava Platform, Enterprise Edition
Java Platform, Enterprise Edition
 
Hiearquia Window
Hiearquia WindowHiearquia Window
Hiearquia Window
 
Sessao
SessaoSessao
Sessao
 
Histórico de Participação do Mackenzie na Maratona de Programação
Histórico de Participação do Mackenzie na Maratona de ProgramaçãoHistórico de Participação do Mackenzie na Maratona de Programação
Histórico de Participação do Mackenzie na Maratona de Programação
 
Bubble Sort
Bubble SortBubble Sort
Bubble Sort
 
Insertion Sort
Insertion SortInsertion Sort
Insertion Sort
 
Gerenciadores de Layout
Gerenciadores de LayoutGerenciadores de Layout
Gerenciadores de Layout
 
Análise de Algoritmos
Análise de AlgoritmosAnálise de Algoritmos
Análise de Algoritmos
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 

Similar a Java AWT

Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
Jorge Cardoso
 
Paradigmas de Linguagens de Programação - Modularização, componentização e re...
Paradigmas de Linguagens de Programação - Modularização, componentização e re...Paradigmas de Linguagens de Programação - Modularização, componentização e re...
Paradigmas de Linguagens de Programação - Modularização, componentização e re...
Adriano Teixeira de Souza
 
Arquitetura De Ap Is GráFicas Do Java Dtv Lwuit E Dtv Ui
Arquitetura De Ap Is GráFicas Do Java Dtv   Lwuit E Dtv UiArquitetura De Ap Is GráFicas Do Java Dtv   Lwuit E Dtv Ui
Arquitetura De Ap Is GráFicas Do Java Dtv Lwuit E Dtv Ui
Erisvaldo Junior
 
Framework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da DissertacaoFramework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da Dissertacao
Marcius Brandão
 

Similar a Java AWT (20)

Minicurso Java
Minicurso JavaMinicurso Java
Minicurso Java
 
Java swingcomponentes
Java swingcomponentesJava swingcomponentes
Java swingcomponentes
 
Aplicações java com netbeans
Aplicações  java com  netbeansAplicações  java com  netbeans
Aplicações java com netbeans
 
JavaFx - Introdução
JavaFx - IntroduçãoJavaFx - Introdução
JavaFx - Introdução
 
lista de exercícios de estrutura de dados Básico primeira prova
lista de exercícios de estrutura de dados Básico primeira prova lista de exercícios de estrutura de dados Básico primeira prova
lista de exercícios de estrutura de dados Básico primeira prova
 
Java
JavaJava
Java
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
 
Delphi 6 básico
Delphi 6 básicoDelphi 6 básico
Delphi 6 básico
 
Java 03
Java 03Java 03
Java 03
 
Paradigmas de Linguagens de Programação - Modularização, componentização e re...
Paradigmas de Linguagens de Programação - Modularização, componentização e re...Paradigmas de Linguagens de Programação - Modularização, componentização e re...
Paradigmas de Linguagens de Programação - Modularização, componentização e re...
 
Java: Introducao ao Swing
Java: Introducao ao SwingJava: Introducao ao Swing
Java: Introducao ao Swing
 
Ds aula 01 - Introdução ao Visual Studio CSharp - Modo Visual
Ds aula 01 - Introdução ao Visual Studio CSharp - Modo VisualDs aula 01 - Introdução ao Visual Studio CSharp - Modo Visual
Ds aula 01 - Introdução ao Visual Studio CSharp - Modo Visual
 
Arquitetura de apis gráficas do java dtv - lwuit e dtv-ui
Arquitetura de apis gráficas do java dtv - lwuit e dtv-uiArquitetura de apis gráficas do java dtv - lwuit e dtv-ui
Arquitetura de apis gráficas do java dtv - lwuit e dtv-ui
 
Arquitetura De Ap Is GráFicas Do Java Dtv Lwuit E Dtv Ui
Arquitetura De Ap Is GráFicas Do Java Dtv   Lwuit E Dtv UiArquitetura De Ap Is GráFicas Do Java Dtv   Lwuit E Dtv Ui
Arquitetura De Ap Is GráFicas Do Java Dtv Lwuit E Dtv Ui
 
Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012
 
Interface grafica
Interface graficaInterface grafica
Interface grafica
 
Plataforma .Net
Plataforma .NetPlataforma .Net
Plataforma .Net
 
xDocLet - Geração de código com xdoclet
xDocLet - Geração de código com xdocletxDocLet - Geração de código com xdoclet
xDocLet - Geração de código com xdoclet
 
Computação Móvel 2012.2 - Android
Computação Móvel 2012.2 - AndroidComputação Móvel 2012.2 - Android
Computação Móvel 2012.2 - Android
 
Framework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da DissertacaoFramework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da Dissertacao
 

Más de Daniel Arndt Alves

Más de Daniel Arndt Alves (18)

Variaveis Superglobais
Variaveis SuperglobaisVariaveis Superglobais
Variaveis Superglobais
 
Programacao Modular
Programacao ModularProgramacao Modular
Programacao Modular
 
Strings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHPStrings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHP
 
Introducao ao PHP
Introducao ao PHPIntroducao ao PHP
Introducao ao PHP
 
Arquitetura web
Arquitetura webArquitetura web
Arquitetura web
 
HTML Básico
HTML BásicoHTML Básico
HTML Básico
 
Conceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosConceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos Distribuidos
 
Exercicios - Java Swing Listeners
Exercicios - Java Swing ListenersExercicios - Java Swing Listeners
Exercicios - Java Swing Listeners
 
Exercicios - Java Swing
Exercicios - Java SwingExercicios - Java Swing
Exercicios - Java Swing
 
Estrutura de Dados II - Plano de Ensino
Estrutura de Dados II - Plano de EnsinoEstrutura de Dados II - Plano de Ensino
Estrutura de Dados II - Plano de Ensino
 
Estrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaEstrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da Disciplina
 
Técnicas de Programação Aplicada III - Apresentação da Disciplina
Técnicas de Programação Aplicada III - Apresentação da DisciplinaTécnicas de Programação Aplicada III - Apresentação da Disciplina
Técnicas de Programação Aplicada III - Apresentação da Disciplina
 
Técnicas de Programação Aplicada III - Plano de Ensino
Técnicas de Programação Aplicada III - Plano de EnsinoTécnicas de Programação Aplicada III - Plano de Ensino
Técnicas de Programação Aplicada III - Plano de Ensino
 
Linguagem de Programação II - Plano de Ensino
Linguagem de Programação II - Plano de EnsinoLinguagem de Programação II - Plano de Ensino
Linguagem de Programação II - Plano de Ensino
 
Linguagem de Programação II - Apresentação da Disciplina
Linguagem de Programação II - Apresentação da DisciplinaLinguagem de Programação II - Apresentação da Disciplina
Linguagem de Programação II - Apresentação da Disciplina
 
Novos Recursos do Moodle 2
Novos Recursos do Moodle 2Novos Recursos do Moodle 2
Novos Recursos do Moodle 2
 
Novos Recursos do Moodle 2.0 (Paper)
Novos Recursos do Moodle 2.0 (Paper)Novos Recursos do Moodle 2.0 (Paper)
Novos Recursos do Moodle 2.0 (Paper)
 
Modelos de Integração Moodle - Sistemas de Gestão Acadêmicos e Administrativos
Modelos de Integração Moodle - Sistemas de Gestão Acadêmicos e AdministrativosModelos de Integração Moodle - Sistemas de Gestão Acadêmicos e Administrativos
Modelos de Integração Moodle - Sistemas de Gestão Acadêmicos e Administrativos
 

Último

ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024
ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024
ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024
azulassessoria9
 
1. Aula de sociologia - 1º Ano - Émile Durkheim.pdf
1. Aula de sociologia - 1º Ano - Émile Durkheim.pdf1. Aula de sociologia - 1º Ano - Émile Durkheim.pdf
1. Aula de sociologia - 1º Ano - Émile Durkheim.pdf
aulasgege
 

Último (20)

ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024
ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024
ATIVIDADE 2 - GQ - COMUNICAÇÃO EMPRESARIAL E NEGOCIAÇÃO - 52_2024
 
HISTORIA DA XILOGRAVURA A SUA IMPORTANCIA
HISTORIA DA XILOGRAVURA A SUA IMPORTANCIAHISTORIA DA XILOGRAVURA A SUA IMPORTANCIA
HISTORIA DA XILOGRAVURA A SUA IMPORTANCIA
 
Conteúdo sobre a formação e expansão persa
Conteúdo sobre a formação e expansão persaConteúdo sobre a formação e expansão persa
Conteúdo sobre a formação e expansão persa
 
662938.pdf aula digital de educação básica
662938.pdf aula digital de educação básica662938.pdf aula digital de educação básica
662938.pdf aula digital de educação básica
 
Apresentação sobre Robots e processos educativos
Apresentação sobre Robots e processos educativosApresentação sobre Robots e processos educativos
Apresentação sobre Robots e processos educativos
 
Sistema de Acompanhamento - Diário Online 2021.pdf
Sistema de Acompanhamento - Diário Online 2021.pdfSistema de Acompanhamento - Diário Online 2021.pdf
Sistema de Acompanhamento - Diário Online 2021.pdf
 
Nós Propomos! Sertã 2024 - Geografia C - 12º ano
Nós Propomos! Sertã 2024 - Geografia C - 12º anoNós Propomos! Sertã 2024 - Geografia C - 12º ano
Nós Propomos! Sertã 2024 - Geografia C - 12º ano
 
"Nós Propomos! Mobilidade sustentável na Sertã"
"Nós Propomos! Mobilidade sustentável na Sertã""Nós Propomos! Mobilidade sustentável na Sertã"
"Nós Propomos! Mobilidade sustentável na Sertã"
 
Enunciado_da_Avaliacao_1__Sistemas_de_Informacoes_Gerenciais_(IL60106).pdf
Enunciado_da_Avaliacao_1__Sistemas_de_Informacoes_Gerenciais_(IL60106).pdfEnunciado_da_Avaliacao_1__Sistemas_de_Informacoes_Gerenciais_(IL60106).pdf
Enunciado_da_Avaliacao_1__Sistemas_de_Informacoes_Gerenciais_(IL60106).pdf
 
As Mil Palavras Mais Usadas No Inglês (Robert de Aquino) (Z-Library).pdf
As Mil Palavras Mais Usadas No Inglês (Robert de Aquino) (Z-Library).pdfAs Mil Palavras Mais Usadas No Inglês (Robert de Aquino) (Z-Library).pdf
As Mil Palavras Mais Usadas No Inglês (Robert de Aquino) (Z-Library).pdf
 
livro para educação infantil conceitos sensorial
livro para educação infantil conceitos sensoriallivro para educação infantil conceitos sensorial
livro para educação infantil conceitos sensorial
 
EB1 Cumeada Co(n)Vida à Leitura - Livros à Solta_Serta.pptx
EB1 Cumeada Co(n)Vida à Leitura - Livros à Solta_Serta.pptxEB1 Cumeada Co(n)Vida à Leitura - Livros à Solta_Serta.pptx
EB1 Cumeada Co(n)Vida à Leitura - Livros à Solta_Serta.pptx
 
Aparatologia na estética - Cavitação, radiofrequência e lipolaser.pdf
Aparatologia na estética - Cavitação, radiofrequência e lipolaser.pdfAparatologia na estética - Cavitação, radiofrequência e lipolaser.pdf
Aparatologia na estética - Cavitação, radiofrequência e lipolaser.pdf
 
Testes de avaliação português 6º ano .pdf
Testes de avaliação português 6º ano .pdfTestes de avaliação português 6º ano .pdf
Testes de avaliação português 6º ano .pdf
 
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
 
Nós Propomos! Infraestruturas em Proença-a-Nova
Nós Propomos! Infraestruturas em Proença-a-NovaNós Propomos! Infraestruturas em Proença-a-Nova
Nós Propomos! Infraestruturas em Proença-a-Nova
 
1. Aula de sociologia - 1º Ano - Émile Durkheim.pdf
1. Aula de sociologia - 1º Ano - Émile Durkheim.pdf1. Aula de sociologia - 1º Ano - Émile Durkheim.pdf
1. Aula de sociologia - 1º Ano - Émile Durkheim.pdf
 
o-homem-que-calculava-malba-tahan-1_123516.pdf
o-homem-que-calculava-malba-tahan-1_123516.pdfo-homem-que-calculava-malba-tahan-1_123516.pdf
o-homem-que-calculava-malba-tahan-1_123516.pdf
 
Poema - Aedes Aegypt.
Poema - Aedes Aegypt.Poema - Aedes Aegypt.
Poema - Aedes Aegypt.
 
Produção de poemas - Reciclar é preciso
Produção  de  poemas  -  Reciclar é precisoProdução  de  poemas  -  Reciclar é preciso
Produção de poemas - Reciclar é preciso
 

Java AWT

  • 1. Universidade Presbiteriana Mackenzie Aula 2a: Java AWT Prof. Ms. Daniel Arndt Alves Faculdade de Computação e Informática Linguagem de Programação II Daniel Arndt Alves Java AWT 1
  • 2. Tópicos da Aula • Pacotes gráficos de Java – JFC • AWT • Swing • API Java 2D – API Java 3D Daniel Arndt Alves Java AWT 2
  • 3. Tópicos da Aula • Componentes AWT – Classe Button – Classe Label – Classe TextField – Classe TextArea – Classe Checkbox – Classe Choice – Classe List – Classe Scrollbar Daniel Arndt Alves Java AWT 3
  • 4. Tópicos da Aula • Containers AWT – Panel – Window – Frame – Dialog Daniel Arndt Alves Java AWT 4
  • 5. Pacotes gráficos de Java A linguagem Java possui várias funcionalidades gráficas, implementadas através de classes em pacotes. Os pacotes principais são: • JFC/AWT • JFC/Swing • JFC/Java2D • Java3D Daniel Arndt Alves Java AWT 5
  • 6. JFC JFC é uma abreviação de Java Foundation Classes, que engloba um grupo de detalhes para auxiliar no desenvolvimento de interfaces gráficas. JFC foi anunciado na JavaOne Developer Conference (1997). Daniel Arndt Alves Java AWT 6
  • 7. Detalhes englobados pelo JFC • AWT • Componentes Swing • Suporte Look-and-Feel (Java Look, CDE/Motif Look, Windows Look) • API para acessibilidade • API Java 2D • Suporte para operações Drag-and-Drop Daniel Arndt Alves Java AWT 7
  • 8. AWT (Abstract Window Toolkit) Pacote mais básico para se trabalhar com interfaces gráficas em Java. Este pacote possui classes para os principais componentes e containers de uma interface, tais como botões, janelas, etc, além de permitir um tratamento bem simplificado de eventos. Daniel Arndt Alves Java AWT 8
  • 9. Componentes Swing Componentes mais especializados que os componentes AWT. Os componentes Swing são implementados sem nenhum código nativo (ao contrário dos componentes AWT que, na maioria dos casos, implementam várias funcionalidades através de métodos nativos). Daniel Arndt Alves Java AWT 9
  • 10. API Java 2D Pacote que permite facilmente incorporar alta qualidade gráfica em gráficos 2D, textos, imagens em aplicações e em applets. Por exemplo, existe um extenso suporte para composição de imagens e tratamento de imagens com canal alfa. Daniel Arndt Alves Java AWT 10
  • 11. API Java 3D A API Java 3D é uma interface para escrever programas para exibir e interagir com elementos tridimensionais. A API disponibiliza uma coleção de construções de alto nível para criar e manipular geometria 3D e estruturas para “renderizar” a geometria. Pode ser integrada com VRML. Daniel Arndt Alves Java AWT 11
  • 12. COMPONENTES AWT O pacote AWT disponibiliza oito componentes básicos de interface: • Button • Label • TextField • TextArea • Checkbox • Choice • List • Scrollbar Daniel Arndt Alves Java AWT 12
  • 13. Funcionamento dos Componentes Quando estes componentes são mostrados, eles são desenhados segundo o suporte gráfico do usuário. O AWT implementa isto armazenando, dentro do componente, um segundo objeto chamado Peer. Quando um componente recebe uma mensagem para ser desenhado, ele passa esta mensagem para o objeto Peer, que faz a interface com o sistema operacional usando métodos nativos. Daniel Arndt Alves Java AWT 13
  • 14. Funcionamento dos Componentes Os objetos peer transformam requisições AWT em rotinas da interface nativa do usuário e envia o feedback do sistema operacional para o AWT. COMPONENTE PEER SISTEMA OPERACIONAL Daniel Arndt Alves Java AWT 14
  • 15. Classe Button Daniel Arndt Alves Java AWT 15 Implementa o elemento de interface botão com rótulo. Construtores: • public Button( ) Botão sem rótulo • public Button(String rótulo) Botão com rótulo Alguns métodos: • public String getLabel() rótulo do botão • public void setLabel(String r) altera rótulo do botão
  • 16. Classe Button (Exemplo) Button b1 = new Button( ); Button b2 = new Button("Aperte-me"); Daniel Arndt Alves Java AWT 16
  • 17. Classe Label Daniel Arndt Alves Java AWT 17 Implementa o elemento de interface rótulo. Construtores: • public Label( ) Rótulo vazio • public Label (String rótulo) Rótulo não-vazio Alguns métodos: • public String getText() texto do rótulo • public void setText(String r) altera texto do rótulo
  • 18. Classe Label (Exemplo) Label r1 = new Label( ); Label r2 = new Label("label2"); Daniel Arndt Alves Java AWT 18
  • 19. Classe TextField Implementa o elemento de interface caixa de texto. Construtores: • public TextField( ) Tamanho do container • public TextField(int cols) Tamanho em cols • public TextField(String texto) Tamanho do texto Alguns métodos: • public String getText() texto no componente • public void setText(String r) altera texto no componente Daniel Arndt Alves Java AWT 19
  • 20. Classe TextField (Exemplo) TextField t1 = new TextField(30); TextField t2 = new TextField("inicial"); Daniel Arndt Alves Java AWT 20
  • 21. Classe TextArea Implementa o elemento de interface área de texto. Construtores: • public TextArea(int lin, int cols) Tamanho lin x cols • public TextArea(String txt, int lin, int cols) Tamanho lin x cols com texto inicial txt Alguns métodos: • public String getText() texto no componente • public void setText(String r) altera texto no componente Daniel Arndt Alves Java AWT 21
  • 22. Classe TextArea (Exemplo) TextArea t1 = new TextArea(3,10); TextArea t2 = new TextArea("texto...",3,30); Daniel Arndt Alves Java AWT 22
  • 23. Classe Checkbox Implementa o elemento de interface botão liga/desliga. Construtores: • public Checkbox( ) Botão sem rótulo • public Checkbox(String rótulo) Botão com rótulo Alguns métodos: • public String getLabel() rótulo do botão • public void setLabel(String r) altera rótulo do botão • public boolean getState() retorna o estado do botão Daniel Arndt Alves Java AWT 23
  • 24. Classe Checkbox (Exemplo) Checkbox c1 = new Checkbox(); Checkbox c2 = new Checkbox("rotulo"); Daniel Arndt Alves Java AWT 24
  • 25. Radio Buttons Daniel Arndt Alves Java AWT 25 Componentes Checkbox podem ser agrupados através de instância da classe CheckboxGroup. Somente um dos componentes do CheckboxGroup pode estar selecionado num determinado instante. Botões com estas características são chamados de “radio buttons”. Construtor: public Checkbox(String rotulo, CheckboxGroup grupo, boolean estado_inicial)
  • 26. Radio Buttons (Exemplo) CheckboxGroup grupo = new CheckboxGroup( ); Checkbox op1 = new Checkbox("masculino",grupo,true); Checkbox op2 = new Checkbox("feminino",grupo,false); Daniel Arndt Alves Java AWT 26
  • 27. Classe Choice Implementa o elemento de interface lista pop-down. Construtor: public Choice( ) Alguns métodos: • public synchronized void addItem(String item) Adiciona um item à lista • public String getSelectedItem( ) String da opção escolhida Daniel Arndt Alves Java AWT 27
  • 28. Classe Choice (Exemplo) Choice c = new Choice(); c.addItem("Primeiro"); c.addItem("Segundo"); c.addItem("Terceiro"); c.addItem("Quarto"); Daniel Arndt Alves Java AWT 28
  • 29. Classe List Implementa o elemento de interface lista, com possibilidade de múltiplas escolhas. Construtor: public List(int lin,boolean multiplo) lin : número de opções visíveis multiplo: true (seleção múltipla) false (seleção simples) Daniel Arndt Alves Java AWT 29
  • 30. Classe List Alguns métodos: • public synchronized void addItem(String item) Adiciona um item à lista • public String[] getSelectedItems( ) Vetor de Strings com as opções escolhidas Daniel Arndt Alves Java AWT 30
  • 31. Classe List (Exemplo) List c = new List(3,true); c.addItem("Primeiro"); c.addItem("Segundo"); c.addItem("Terceiro"); c.addItem("Quarto"); Daniel Arndt Alves Java AWT 31
  • 32. Classe Scrollbar Implementa o elemento de interface barra de rolagem. Construtores: public Scrollbar( ) barra de rolagem vertical public Scrollbar(int orientação, int valor_inicial, int incremento, int mínimo, int máximo) Daniel Arndt Alves Java AWT 32
  • 33. Classe Scrollbar Alguns métodos: • public int getValue() Posicionamento da barra de rolagem • public void setValue(int pos) Muda posicionamento da barra de rolagem para pos Daniel Arndt Alves Java AWT 33
  • 34. Classe Scrollbar (Exemplo) Scrollbar b1=new Scrollbar(); Scrollbar b2=new Scrollbar(Scrollbar.HORIZONTAL, 50, 10, 0, 100); Daniel Arndt Alves Java AWT 34
  • 35. Containers Containers são elementos que armazenam componentes gráficos. Não é possível usar um componente sem que ele esteja dentro de um container. Containers podem, também, armazenar outros containers. Daniel Arndt Alves Java AWT 35
  • 36. Containers do AWT O AWT trabalha com quatro tipos de containers: • Painel (Panel) • Janela (Window) • Frame • Diálogo (Dialog) Daniel Arndt Alves Java AWT 36
  • 37. Painel Painel é um container “puro”, isto, não é propriamente uma janela e seu único propósito é organizar os componentes numa janela, utilizando gerenciadores de layout. Um painel, como qualquer outro container, pode ser colocado dentro de outro painel. Uma classe muito útil, derivada da classe Panel, é a classe Applet. Daniel Arndt Alves Java AWT 37
  • 38. Declaração e utilização de painéis Button botaoAB=new Button("Abrir"); Button botaoFE=new Button("Fechar"); Panel painel=new Panel(); // Instancia Painel painel.setLayout(new FlowLayout()); painel.add(botaoAB); // Coloca botão Abrir no painel painel.add(botaoFE); // Coloca botão Fechar no painel Daniel Arndt Alves Java AWT 38
  • 39. Janelas A classe Window, que implementa as funcionalidades de janelas em Java, é muito parecida como Panel, exceto que ela cria sua própria janela de primeiro nível, em vez de estar contida dentro de um Panel. São muito utilizadas para menus do tipo pop-up. Geralmente, utiliza-se frames no lugar de janelas, uma vez que são mais especializados. Daniel Arndt Alves Java AWT 39
  • 40. Frame Frames são janelas especializadas que conseguem interagir com o usuário independente de outras janelas. Com frames, um aplicativo pode criar várias janelas independentes. Daniel Arndt Alves Java AWT 40
  • 41. Declaração e utilização de frames Button botaoAB=new Button(“Abrir...”); Button botaoFE=new Button(“Fechar...”); Frame frame=new Frame(“Exemplo de Frame”); setLayout(new FlowLayout()); frame.add(botaoAB); // Coloca botão Abrir no frame frame.add(botaoFE); // Coloca botão Fechar no frame frame.show(); // Exibe o frame frame.hide(); // Oculta o frame Daniel Arndt Alves Java AWT 41
  • 42. Diálogos Diálogos são janelas que são ativadas momentaneamente para redirecionar um processamento. Por exemplo, solicitar confirmação de substituição de arquivo numa operação de cópia. Daniel Arndt Alves Java AWT 42
  • 43. Diálogos Diálogos podem ser: • modais: impedem a entrada para outras janelas enquanto estão ativos. • não-modais: não impedem a entrada para outras janelas. Os elementos de um diálogo são definidos por um frame. Daniel Arndt Alves Java AWT 43
  • 44. Declaração e utilização de diálogos Button botaoOK=new Button("OK"); Button botaoNO=new Button("NO"); Frame frame=new Frame("Exemplo de Frame"); Dialog dialogo; // Referência para diálogo frame.setLayout(new FlowLayout()); frame.add(new Label("Deseja fechar o arquivo? "); frame.add(botaoOK); // Coloca botão OK no frame frame.add(botaoNO); // Coloca botão Cancel no frame dialogo=new Dialog(frame,"Exemplo de Dialogo",true); // Cria diálogo // | | | // frame referência título do diálogo modal ( false=não modal) dialogo.show(); // Mostra diálogo Daniel Arndt Alves Java AWT 44
  • 45. Daniel Arndt Alves Java AWT 45
  • 46. Daniel Arndt Alves Java AWT 46