SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
© 2010 Pearson. Todos os direitos reservados.
slide 14
} A maioria dos aplicativos utiliza janelas ou caixas de diálogo (também chamadas
de diálogos) para interagir com o usuário.
} JOptionPane (pacote javax.swing) fornece caixas de diálogo pré-construídas
tanto para entrada como para saída e são exibidas via métodos JOptionPane
static.
} A Figura 14.2 utiliza dois diálogos de entrada para obter inteiros do usuário e um
diálogo de mensagem para exibir a soma dos inteiros que o usuário insere.
© 2010 Pearson. Todos os direitos reservados.
slide 15
© 2010 Pearson. Todos os direitos reservados.
slide 16
© 2010 Pearson. Todos os direitos reservados.
slide 17
© 2010 Pearson. Todos os direitos reservados.
slide 18
} O método JOptionPane staticshowInputDialog exibe um diálogo de
entrada, utilizando argumentos String do método como um prompt.
} O usuário digita caracteres no campo de texto, depois clica em OK ou pressiona a
tecla Enter para enviar a String para o programa.
} Clicar em OK fecha (oculta) o diálogo.
} Pode-se inserir somente Strings. É comum na maioria dos componentes GUI.
} Se o usuário clicar em Cancel,retorna null.
} Diálogos JOptionPane são diálogos — o usuário não pode interagir com o
restante do aplicativo.
© 2010 Pearson. Todos os direitos reservados.
slide 19
© 2010 Pearson. Todos os direitos reservados.
slide 20
© 2010 Pearson. Todos os direitos reservados.
slide 21
} Convertendo Strings em valores int
} O método staticparseInt da classe Integer converte seu argumento
String em um valor int.
Diálogos de mensagem
} O método JOptionPane static showMessageDialog exibe um diálogo de
mensagem.
} O primeiro argumento ajuda o aplicativo a determinar onde posicionar o diálogo.
} Se for null, a caixa de diálogo será exibida no centro da tela.
} O segundo argumento é a mensagem a ser exibida.
} O terceiro argumento é a String que deve aparecer na barra de título na parte
superior do diálogo.
} O quarto argumento é o tipo de diálogo de mensagem a ser exibido.
© 2010 Pearson. Todos os direitos reservados.
slide 22
Diálogos de mensagem
} Um diálogo JOption-Pane.PLAIN_MESSAGE não exibe um ícone à esquerda da
mensagem.
} Documentação JOptionPaneonline:
java.sun.com/javase/6/docs/api/javax/swing/JOptionPane.html
© 2010 Pearson. Todos os direitos reservados.
slide 23
© 2010 Pearson. Todos os direitos reservados.
slide 24
© 2010 Pearson. Todos os direitos reservados.
slide 25
} Componentes GUI Swing localizados no pacote javax.swing.
} A maioria são componentes Java puros.
} Escritos, manipulados e exibidos completamente no Java.
} Parte das Java Foundation Classes (JFC) para desenvolvimento de GUI para
múltiplas plataformas.
} Tecnologias desktop JFC e Java:
java.sun.com/javase/technologies/desktop/
© 2010 Pearson. Todos os direitos reservados.
slide 26
© 2010 Pearson. Todos os direitos reservados.
slide 27
} O Abstract Window Toolkit (AWT) do pacote java.awt é outro conjunto de
componentes GUI do Java.
} Quando um aplicativo Java com um AWT GUI executa em diferentes plataformas
Java, os componentes GUI do aplicativo exibem diferentemente em cada
plataforma.
} Juntas, a aparência e a maneira como o usuário interage com o aplicativo são
conhecidas como a aparência e comportamento desse aplicativo.
} Os componentes GUI Swing permitem especificar uma aparência e comportamento
uniforme para o aplicativo em todas as plataformas ou utilizar a aparência e
comportamento personalizados de cada plataforma.
© 2010 Pearson. Todos os direitos reservados.
slide 28
© 2010 Pearson. Todos os direitos reservados.
slide 29
} A maioria dos componentes Swing não está vinculada a componentes GUI reais da
plataforma subjacente.
} Conhecidos como componentes leves.
} Os componentes AWT estão vinculados à plataforma local e são chamados
componentes pesados, porque devem contar com o sistema de janela da
plataforma local para determinar sua funcionalidade e sua aparência e
comportamento.
} Vários componentes Swing são componentes pesados.
© 2010 Pearson. Todos os direitos reservados.
slide 30
© 2010 Pearson. Todos os direitos reservados.
slide 31
© 2010 Pearson. Todos os direitos reservados.
slide 32
} A classe Component (pacote java.awt) declara muitos dos atributos e
comportamentos comuns aos componentes GUI em pacotes java.awt e
javax.swing.
} A maioria dos componentes GUI estende a classe Component direta ou
indiretamente.
} Documentação on-line:
java.sun.com/javase/6/docs/api/java/awt/Component.html
© 2010 Pearson. Todos os direitos reservados.
slide 33
© 2010 Pearson. Todos os direitos reservados.
slide 34
} A classe Container (pacote java.awt) é uma subclasse de Component.
} Components são anexados a Containers para que possam ser organizados e
exibidos na tela.
} Qualquer objeto que é um Container pode ser utilizado para organizar outros
Components em uma GUI.
} Como um Container é um Component, você pode colocar Containers em
outros Containers para ajudar a organizar uma GUI.
} Documentação on-line:
} java.sun.com/javase/6/docs/api/java/awt/Container.html
© 2010 Pearson. Todos os direitos reservados.
slide 35
} A classe JComponent (pacote java.awt) é uma subclasse de Component.
} JComponent é a superclasse de todos os componentes Swing leves, que também
são Containers.
© 2010 Pearson. Todos os direitos reservados.
slide 36
} Alguns recursos de componentes leves comuns suportados por JComponent
incluem:
– aparência e comportamento plugável.
– Teclas de atalho (chamadas mnemônicas).
– Capacidades comuns de tratamento de evento para componentes que iniciam
as mesmas ações em um aplicativo.
– dicas de ferramenta.
– Suporte para acessibilidade.
– Suporte para localização.
} Documentação on-line:
◦ http://java.sun.com/javase/6/docs/api/javax/swing/JOp
tionPane.html
© 2010 Pearson. Todos os direitos reservados.
slide 37
} A maioria das janelas que podem conter componentes GUI Swing são instâncias da
classe JFrame ou uma subclasse de JFrame.
} JFrame é uma subclasse indireta da classe java.awt.Window
} Fornece os atributos básicos e os comportamentos de uma janela:
◦ uma barra de título em cima.
◦ botões para minimizar, maximizar e fechar a janela.
} A maioria de nossos exemplos consistirá em duas classes:
◦ uma subclasse de JFrame que demonstra novos conceitos das GUIs.
◦ uma classe de aplicativo em que main cria e exibe a janela principal do
aplicativo.
© 2010 Pearson. Todos os direitos reservados.
slide 38
© 2010 Pearson. Todos os direitos reservados.
slide 39
© 2010 Pearson. Todos os direitos reservados.
slide 40
© 2010 Pearson. Todos os direitos reservados.
slide 41
© 2010 Pearson. Todos os direitos reservados.
slide 42
} Em uma GUI extensa:
◦ Dificulta identificar o objetivo de cada componente.
◦ Fornece um texto que declara a finalidade de cada componente.
} Esse texto é conhecido como rótulo e é criado com a classe JLabel — uma
subclasse de JComponent.
◦ Exibe texto somente de leitura, uma imagem ou tanto texto como imagem.
© 2010 Pearson. Todos os direitos reservados.
slide 43
} O construtor de JFrame utiliza seu argumento String como o texto na barra de
título da janela.
} Deve anexar cada componente GUI a um contêiner, como um JFrame.
} Em geral, você deve decidir onde posicionar cada componente GUI.
} Isso é conhecido como especificar o layout dos componentes GUI.
} O Java fornece vários gerenciadores de layout que podem ajudá-lo a posicionar os
componentes.
© 2010 Pearson. Todos os direitos reservados.
slide 44
} Muitos IDEs fornecem ferramentas de design de GUI nas quais você pode
especificar o tamanho e localização exatos de um componente
} O IDE gera o código GUI para você.
} Simplifica bastante a criação de GUIs.
} Para assegurar que os exemplos desse livro podem ser utilizados com qualquer
IDE, não utilizamos um IDE para criar o código GUI.
} Utilizamos gerenciadores de layout Java nos nossos exemplos de GUI.
© 2010 Pearson. Todos os direitos reservados.
slide 45
} FlowLayout
} Os componentes GUI são colocados em um contêiner da esquerda para a direita na
ordem em que são adicionados ao contêiner.
} Quando não houver mais espaço para ajustar componentes da esquerda para a
direita, os componentes continuam a aparecer da esquerda para direita na próxima
linha.
} Se o contêiner for redimensionado, um FlowLayout recorre os componentes para
acomodar a nova largura do contêiner, possivelmente com menos ou mais linhas de
componentes GUI.
} O método setLayout é herdado da classe Container. O argumento para o
método deve ser um objeto de uma classe que implementa a interface
LayoutManager (por exemplo, FlowLayout).
© 2010 Pearson. Todos os direitos reservados.
slide 46
© 2010 Pearson. Todos os direitos reservados.
slide 47
© 2010 Pearson. Todos os direitos reservados.
slide 48
} O construtor JLabel pode receber uma String especificando o texto do rótulo.
} O método setToolTipText (herdado por JLabel de JComponent) especifica a
dica de ferramenta que é exibida quando o usuário posiciona o cursor do mouse
sobre um JComponent (como um JLabel).
} Você anexa um componente a um contêiner utilizando o método add, que é
herdado indiretamente da classe Container.
© 2010 Pearson. Todos os direitos reservados.
slide 49
} Os ícones aprimoram a aparência e comportamento de um aplicativo e também são
comumente utilizados para indicar funcionalidade.
} Normalmente, um ícone é especificado com um argumento Icon para um construtor
ou para o método setIcon do componente.
} Um Icon é um objeto de qualquer classe que implementa a interface Icon
(pacote javax.swing).
} ImageIcon (pacote javax.swing) suporta vários formatos de imagem, incluindo
Graphics Interchange Format (GIF), Portable Network Graphics (PNG) e
Joint Photographic Experts Group (JPEG).
© 2010 Pearson. Todos os direitos reservados.
slide 50
} getClass().getResource("bug1.png")
} Invoca o método getClass (herdado indiretamente da classe Object) para
recuperar uma referência para o objeto Class que representa a declaração de
classe LabelFrame.
} Em seguida, invoca o método Class getResource, que retorna a localização da
imagem como um URL.
} O construtor ImageIcon utiliza o URL para localizar a imagem e, então, carrega
essa imagem na memória.
} O carregador de classe sabe onde está cada classe que ele carrega no disco. O
método getResource utiliza o carregador de classe do objeto Class para
determinar a localização de um recurso, como um arquivo de imagem.
© 2010 Pearson. Todos os direitos reservados.
slide 51
} Um JLabel pode exibir um Icon.
} O construtor JLabel pode receber texto e um Icon.
} O último argumento de construtor indica a justificação dos conteúdos do rótulo.
} A interface SwingConstants (pacote javax.swing) declara um conjunto de
constantes de inteiro comuns (como SwingConstants.LEFT) que são
utilizadas com muitos componentes Swing.
} Por padrão, o texto aparece à direita da imagem quando um rótulo contém tanto
texto como imagem.
} Os alinhamentos horizontal e vertical de um JLabel podem ser configurados com
os métodos setHorizontalAlignment e setVerticalAlignment, respectivamente.
© 2010 Pearson. Todos os direitos reservados.
slide 52
© 2010 Pearson. Todos os direitos reservados.
slide 53
} A classe JLabel fornece métodos para alterar a aparência de um rótulo depois de
ele ter sido instanciado.
} O método setText configura o texto exibido no rótulo.
} O método getText recupera o texto atual exibido em um rótulo.
} O método setIcon especifica o Icon a ser exibido em um rótulo.
} O método getIcon recupera o Icon atual exibido em um rótulo.
} Os métodos setHorizontalTextPosition e setVerticalTextPosition especificam a
posição do texto no rótulo.
© 2010 Pearson. Todos os direitos reservados.
slide 54
} Por padrão, fechar uma janela simplesmente a oculta.
} Chamar o método setDefaultCloseOperation (herdado da classe JFrame) com o
argumento JFrame.EXIT_ON_CLOSE indica que o programa deve terminar quando a
janela for fechada pelo usuário.
} O método setSize especifica a largura e altura da janela em pixels.
} O método setVisible com o argumento true exibe a janela na tela.

Mais conteúdo relacionado

Mais procurados

Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Java Multithreading Using Executors Framework
Java Multithreading Using Executors FrameworkJava Multithreading Using Executors Framework
Java Multithreading Using Executors FrameworkArun Mehra
 
Android Development - ConstraintLayout
Android Development - ConstraintLayoutAndroid Development - ConstraintLayout
Android Development - ConstraintLayoutManuel Vicente Vivo
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosIgor Takenami
 
Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Elaine Cecília Gatto
 
Curso java 05 - herança, classes e métodos abstratos
Curso java   05 - herança, classes e métodos abstratosCurso java   05 - herança, classes e métodos abstratos
Curso java 05 - herança, classes e métodos abstratosMaurício Linhares
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Frontend Crash Course: HTML and CSS
Frontend Crash Course: HTML and CSSFrontend Crash Course: HTML and CSS
Frontend Crash Course: HTML and CSSThinkful
 
Groovy presentation
Groovy presentationGroovy presentation
Groovy presentationManav Prasad
 
Angular Pipes Workshop
Angular Pipes WorkshopAngular Pipes Workshop
Angular Pipes WorkshopNir Kaufman
 
AEM Sightly Template Language
AEM Sightly Template LanguageAEM Sightly Template Language
AEM Sightly Template LanguageGabriel Walt
 
Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)Helder da Rocha
 
POO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosPOO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosFelipe J. R. Vieira
 

Mais procurados (20)

Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Java Multithreading Using Executors Framework
Java Multithreading Using Executors FrameworkJava Multithreading Using Executors Framework
Java Multithreading Using Executors Framework
 
Android Development - ConstraintLayout
Android Development - ConstraintLayoutAndroid Development - ConstraintLayout
Android Development - ConstraintLayout
 
JSP
JSPJSP
JSP
 
Introdução a ciência de dados com Python
Introdução a ciência de dados com PythonIntrodução a ciência de dados com Python
Introdução a ciência de dados com Python
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
 
Java Logging
Java LoggingJava Logging
Java Logging
 
Java script
Java scriptJava script
Java script
 
Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1
 
Curso java 05 - herança, classes e métodos abstratos
Curso java   05 - herança, classes e métodos abstratosCurso java   05 - herança, classes e métodos abstratos
Curso java 05 - herança, classes e métodos abstratos
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Frontend Crash Course: HTML and CSS
Frontend Crash Course: HTML and CSSFrontend Crash Course: HTML and CSS
Frontend Crash Course: HTML and CSS
 
Groovy presentation
Groovy presentationGroovy presentation
Groovy presentation
 
Angular Pipes Workshop
Angular Pipes WorkshopAngular Pipes Workshop
Angular Pipes Workshop
 
AEM Sightly Template Language
AEM Sightly Template LanguageAEM Sightly Template Language
AEM Sightly Template Language
 
Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)
 
POO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosPOO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetos
 
Semana 5 Java Swing
Semana 5   Java SwingSemana 5   Java Swing
Semana 5 Java Swing
 
Spring Data JPA
Spring Data JPASpring Data JPA
Spring Data JPA
 

Semelhante a Capitulo 14 -_componentes_gui_parte_1

Apostila:Curso de java II
Apostila:Curso de java II  Apostila:Curso de java II
Apostila:Curso de java II Verônica Veiga
 
Apresentação-Resumo sobre o Java Swing.
Apresentação-Resumo sobre o Java Swing.Apresentação-Resumo sobre o Java Swing.
Apresentação-Resumo sobre o Java Swing.Gabriel Jesus
 
Interface Gráfica.ppt
Interface Gráfica.pptInterface Gráfica.ppt
Interface Gráfica.pptJoberthSilva
 
Java - Gestão de componentes curso profissional
Java - Gestão de componentes curso profissionalJava - Gestão de componentes curso profissional
Java - Gestão de componentes curso profissionala41172
 
Spring & Struts
Spring & StrutsSpring & Struts
Spring & Strutseduan
 
IHC - Java Interface com o Usuário (Parte 1)
IHC - Java Interface com o Usuário (Parte 1)IHC - Java Interface com o Usuário (Parte 1)
IHC - Java Interface com o Usuário (Parte 1)Wellington Oliveira
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao javaArmando Daniel
 
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 Rogério Cardoso
 
Aula 1 - Introdução à Interface gráfica do JAVA.pdf
Aula 1 - Introdução à Interface gráfica do JAVA.pdfAula 1 - Introdução à Interface gráfica do JAVA.pdf
Aula 1 - Introdução à Interface gráfica do JAVA.pdfanapatricio
 
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 - AndroidTiago Bencardino
 
Como construir aplicações gráficas e applets
Como construir aplicações gráficas e appletsComo construir aplicações gráficas e applets
Como construir aplicações gráficas e appletsDenis L Presciliano
 

Semelhante a Capitulo 14 -_componentes_gui_parte_1 (20)

Java 17 Swing
Java 17 SwingJava 17 Swing
Java 17 Swing
 
Java swingcomponentes
Java swingcomponentesJava swingcomponentes
Java swingcomponentes
 
Apostila:Curso de java II
Apostila:Curso de java II  Apostila:Curso de java II
Apostila:Curso de java II
 
Apresentação-Resumo sobre o Java Swing.
Apresentação-Resumo sobre o Java Swing.Apresentação-Resumo sobre o Java Swing.
Apresentação-Resumo sobre o Java Swing.
 
Java10
Java10Java10
Java10
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Java1
Java1Java1
Java1
 
Java swing
Java swingJava swing
Java swing
 
Interface Gráfica.ppt
Interface Gráfica.pptInterface Gráfica.ppt
Interface Gráfica.ppt
 
Java - Gestão de componentes curso profissional
Java - Gestão de componentes curso profissionalJava - Gestão de componentes curso profissional
Java - Gestão de componentes curso profissional
 
Spring & Struts
Spring & StrutsSpring & Struts
Spring & Struts
 
CURSO JAVA 02
CURSO JAVA 02CURSO JAVA 02
CURSO JAVA 02
 
IHC - Java Interface com o Usuário (Parte 1)
IHC - Java Interface com o Usuário (Parte 1)IHC - Java Interface com o Usuário (Parte 1)
IHC - Java Interface com o Usuário (Parte 1)
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
Java
JavaJava
Java
 
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
 
Aula 1 - Introdução à Interface gráfica do JAVA.pdf
Aula 1 - Introdução à Interface gráfica do JAVA.pdfAula 1 - Introdução à Interface gráfica do JAVA.pdf
Aula 1 - Introdução à Interface gráfica do JAVA.pdf
 
JavaFx - Introdução
JavaFx - IntroduçãoJavaFx - Introdução
JavaFx - Introdução
 
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
 
Como construir aplicações gráficas e applets
Como construir aplicações gráficas e appletsComo construir aplicações gráficas e applets
Como construir aplicações gráficas e applets
 

Mais de Pedro Neto

Html 5 -_aula_1
Html 5 -_aula_1Html 5 -_aula_1
Html 5 -_aula_1Pedro Neto
 
Como a web funciona
Como a web funcionaComo a web funciona
Como a web funcionaPedro Neto
 
Como a internet funciona
Como a internet funcionaComo a internet funciona
Como a internet funcionaPedro Neto
 
Interfaces POO
Interfaces POOInterfaces POO
Interfaces POOPedro Neto
 
Classes abstratas
Classes abstratasClasses abstratas
Classes abstratasPedro Neto
 
Heranca reescrita e_polimorfismo
Heranca reescrita e_polimorfismoHeranca reescrita e_polimorfismo
Heranca reescrita e_polimorfismoPedro Neto
 
Pacotes -organizando_suas_classes_e_bibliotecas
Pacotes  -organizando_suas_classes_e_bibliotecasPacotes  -organizando_suas_classes_e_bibliotecas
Pacotes -organizando_suas_classes_e_bibliotecasPedro Neto
 
Oficina de Computação Gráfica - Peças resultantes
Oficina de Computação Gráfica - Peças resultantesOficina de Computação Gráfica - Peças resultantes
Oficina de Computação Gráfica - Peças resultantesPedro Neto
 
Minicurso App Inventor
Minicurso App Inventor Minicurso App Inventor
Minicurso App Inventor Pedro Neto
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosPedro Neto
 
Avaliação do servidor Web em um Computador Singleboard Raspberry Pi com a Fer...
Avaliação do servidor Web em um Computador Singleboard Raspberry Pi com a Fer...Avaliação do servidor Web em um Computador Singleboard Raspberry Pi com a Fer...
Avaliação do servidor Web em um Computador Singleboard Raspberry Pi com a Fer...Pedro Neto
 
IF MOBILE – DESENVOLVIMENTO DE SOFTWARES PARA DISPOSITIVOS MÓVEIS: APLICATIVO...
IF MOBILE – DESENVOLVIMENTO DE SOFTWARES PARA DISPOSITIVOS MÓVEIS: APLICATIVO...IF MOBILE – DESENVOLVIMENTO DE SOFTWARES PARA DISPOSITIVOS MÓVEIS: APLICATIVO...
IF MOBILE – DESENVOLVIMENTO DE SOFTWARES PARA DISPOSITIVOS MÓVEIS: APLICATIVO...Pedro Neto
 
Desenvolvimento de Aplicativos Móveis
Desenvolvimento de Aplicativos MóveisDesenvolvimento de Aplicativos Móveis
Desenvolvimento de Aplicativos MóveisPedro Neto
 
Desenvolvimento Móvel
Desenvolvimento MóvelDesenvolvimento Móvel
Desenvolvimento MóvelPedro Neto
 

Mais de Pedro Neto (20)

Html 5 -_aula_1
Html 5 -_aula_1Html 5 -_aula_1
Html 5 -_aula_1
 
Como a web funciona
Como a web funcionaComo a web funciona
Como a web funciona
 
Como a internet funciona
Como a internet funcionaComo a internet funciona
Como a internet funciona
 
Arrays
ArraysArrays
Arrays
 
Interfaces POO
Interfaces POOInterfaces POO
Interfaces POO
 
Classes abstratas
Classes abstratasClasses abstratas
Classes abstratas
 
Heranca reescrita e_polimorfismo
Heranca reescrita e_polimorfismoHeranca reescrita e_polimorfismo
Heranca reescrita e_polimorfismo
 
Pacotes -organizando_suas_classes_e_bibliotecas
Pacotes  -organizando_suas_classes_e_bibliotecasPacotes  -organizando_suas_classes_e_bibliotecas
Pacotes -organizando_suas_classes_e_bibliotecas
 
Daw slide 08
Daw slide 08Daw slide 08
Daw slide 08
 
Daw slide 07
Daw slide 07Daw slide 07
Daw slide 07
 
Daw slide 06
Daw slide 06Daw slide 06
Daw slide 06
 
Daw slide 01
Daw slide 01Daw slide 01
Daw slide 01
 
Sig parte 6
Sig parte 6Sig parte 6
Sig parte 6
 
Oficina de Computação Gráfica - Peças resultantes
Oficina de Computação Gráfica - Peças resultantesOficina de Computação Gráfica - Peças resultantes
Oficina de Computação Gráfica - Peças resultantes
 
Minicurso App Inventor
Minicurso App Inventor Minicurso App Inventor
Minicurso App Inventor
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Avaliação do servidor Web em um Computador Singleboard Raspberry Pi com a Fer...
Avaliação do servidor Web em um Computador Singleboard Raspberry Pi com a Fer...Avaliação do servidor Web em um Computador Singleboard Raspberry Pi com a Fer...
Avaliação do servidor Web em um Computador Singleboard Raspberry Pi com a Fer...
 
IF MOBILE – DESENVOLVIMENTO DE SOFTWARES PARA DISPOSITIVOS MÓVEIS: APLICATIVO...
IF MOBILE – DESENVOLVIMENTO DE SOFTWARES PARA DISPOSITIVOS MÓVEIS: APLICATIVO...IF MOBILE – DESENVOLVIMENTO DE SOFTWARES PARA DISPOSITIVOS MÓVEIS: APLICATIVO...
IF MOBILE – DESENVOLVIMENTO DE SOFTWARES PARA DISPOSITIVOS MÓVEIS: APLICATIVO...
 
Desenvolvimento de Aplicativos Móveis
Desenvolvimento de Aplicativos MóveisDesenvolvimento de Aplicativos Móveis
Desenvolvimento de Aplicativos Móveis
 
Desenvolvimento Móvel
Desenvolvimento MóvelDesenvolvimento Móvel
Desenvolvimento Móvel
 

Último

Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxSamiraMiresVieiradeM
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 

Último (20)

Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 

Capitulo 14 -_componentes_gui_parte_1

  • 1. © 2010 Pearson. Todos os direitos reservados. slide 14 } A maioria dos aplicativos utiliza janelas ou caixas de diálogo (também chamadas de diálogos) para interagir com o usuário. } JOptionPane (pacote javax.swing) fornece caixas de diálogo pré-construídas tanto para entrada como para saída e são exibidas via métodos JOptionPane static. } A Figura 14.2 utiliza dois diálogos de entrada para obter inteiros do usuário e um diálogo de mensagem para exibir a soma dos inteiros que o usuário insere.
  • 2. © 2010 Pearson. Todos os direitos reservados. slide 15
  • 3. © 2010 Pearson. Todos os direitos reservados. slide 16
  • 4. © 2010 Pearson. Todos os direitos reservados. slide 17
  • 5. © 2010 Pearson. Todos os direitos reservados. slide 18 } O método JOptionPane staticshowInputDialog exibe um diálogo de entrada, utilizando argumentos String do método como um prompt. } O usuário digita caracteres no campo de texto, depois clica em OK ou pressiona a tecla Enter para enviar a String para o programa. } Clicar em OK fecha (oculta) o diálogo. } Pode-se inserir somente Strings. É comum na maioria dos componentes GUI. } Se o usuário clicar em Cancel,retorna null. } Diálogos JOptionPane são diálogos — o usuário não pode interagir com o restante do aplicativo.
  • 6. © 2010 Pearson. Todos os direitos reservados. slide 19
  • 7. © 2010 Pearson. Todos os direitos reservados. slide 20
  • 8. © 2010 Pearson. Todos os direitos reservados. slide 21 } Convertendo Strings em valores int } O método staticparseInt da classe Integer converte seu argumento String em um valor int. Diálogos de mensagem } O método JOptionPane static showMessageDialog exibe um diálogo de mensagem. } O primeiro argumento ajuda o aplicativo a determinar onde posicionar o diálogo. } Se for null, a caixa de diálogo será exibida no centro da tela. } O segundo argumento é a mensagem a ser exibida. } O terceiro argumento é a String que deve aparecer na barra de título na parte superior do diálogo. } O quarto argumento é o tipo de diálogo de mensagem a ser exibido.
  • 9. © 2010 Pearson. Todos os direitos reservados. slide 22 Diálogos de mensagem } Um diálogo JOption-Pane.PLAIN_MESSAGE não exibe um ícone à esquerda da mensagem. } Documentação JOptionPaneonline: java.sun.com/javase/6/docs/api/javax/swing/JOptionPane.html
  • 10. © 2010 Pearson. Todos os direitos reservados. slide 23
  • 11. © 2010 Pearson. Todos os direitos reservados. slide 24
  • 12. © 2010 Pearson. Todos os direitos reservados. slide 25 } Componentes GUI Swing localizados no pacote javax.swing. } A maioria são componentes Java puros. } Escritos, manipulados e exibidos completamente no Java. } Parte das Java Foundation Classes (JFC) para desenvolvimento de GUI para múltiplas plataformas. } Tecnologias desktop JFC e Java: java.sun.com/javase/technologies/desktop/
  • 13. © 2010 Pearson. Todos os direitos reservados. slide 26
  • 14. © 2010 Pearson. Todos os direitos reservados. slide 27 } O Abstract Window Toolkit (AWT) do pacote java.awt é outro conjunto de componentes GUI do Java. } Quando um aplicativo Java com um AWT GUI executa em diferentes plataformas Java, os componentes GUI do aplicativo exibem diferentemente em cada plataforma. } Juntas, a aparência e a maneira como o usuário interage com o aplicativo são conhecidas como a aparência e comportamento desse aplicativo. } Os componentes GUI Swing permitem especificar uma aparência e comportamento uniforme para o aplicativo em todas as plataformas ou utilizar a aparência e comportamento personalizados de cada plataforma.
  • 15. © 2010 Pearson. Todos os direitos reservados. slide 28
  • 16. © 2010 Pearson. Todos os direitos reservados. slide 29 } A maioria dos componentes Swing não está vinculada a componentes GUI reais da plataforma subjacente. } Conhecidos como componentes leves. } Os componentes AWT estão vinculados à plataforma local e são chamados componentes pesados, porque devem contar com o sistema de janela da plataforma local para determinar sua funcionalidade e sua aparência e comportamento. } Vários componentes Swing são componentes pesados.
  • 17. © 2010 Pearson. Todos os direitos reservados. slide 30
  • 18. © 2010 Pearson. Todos os direitos reservados. slide 31
  • 19. © 2010 Pearson. Todos os direitos reservados. slide 32 } A classe Component (pacote java.awt) declara muitos dos atributos e comportamentos comuns aos componentes GUI em pacotes java.awt e javax.swing. } A maioria dos componentes GUI estende a classe Component direta ou indiretamente. } Documentação on-line: java.sun.com/javase/6/docs/api/java/awt/Component.html
  • 20. © 2010 Pearson. Todos os direitos reservados. slide 33
  • 21. © 2010 Pearson. Todos os direitos reservados. slide 34 } A classe Container (pacote java.awt) é uma subclasse de Component. } Components são anexados a Containers para que possam ser organizados e exibidos na tela. } Qualquer objeto que é um Container pode ser utilizado para organizar outros Components em uma GUI. } Como um Container é um Component, você pode colocar Containers em outros Containers para ajudar a organizar uma GUI. } Documentação on-line: } java.sun.com/javase/6/docs/api/java/awt/Container.html
  • 22. © 2010 Pearson. Todos os direitos reservados. slide 35 } A classe JComponent (pacote java.awt) é uma subclasse de Component. } JComponent é a superclasse de todos os componentes Swing leves, que também são Containers.
  • 23. © 2010 Pearson. Todos os direitos reservados. slide 36 } Alguns recursos de componentes leves comuns suportados por JComponent incluem: – aparência e comportamento plugável. – Teclas de atalho (chamadas mnemônicas). – Capacidades comuns de tratamento de evento para componentes que iniciam as mesmas ações em um aplicativo. – dicas de ferramenta. – Suporte para acessibilidade. – Suporte para localização. } Documentação on-line: ◦ http://java.sun.com/javase/6/docs/api/javax/swing/JOp tionPane.html
  • 24. © 2010 Pearson. Todos os direitos reservados. slide 37 } A maioria das janelas que podem conter componentes GUI Swing são instâncias da classe JFrame ou uma subclasse de JFrame. } JFrame é uma subclasse indireta da classe java.awt.Window } Fornece os atributos básicos e os comportamentos de uma janela: ◦ uma barra de título em cima. ◦ botões para minimizar, maximizar e fechar a janela. } A maioria de nossos exemplos consistirá em duas classes: ◦ uma subclasse de JFrame que demonstra novos conceitos das GUIs. ◦ uma classe de aplicativo em que main cria e exibe a janela principal do aplicativo.
  • 25. © 2010 Pearson. Todos os direitos reservados. slide 38
  • 26. © 2010 Pearson. Todos os direitos reservados. slide 39
  • 27. © 2010 Pearson. Todos os direitos reservados. slide 40
  • 28. © 2010 Pearson. Todos os direitos reservados. slide 41
  • 29. © 2010 Pearson. Todos os direitos reservados. slide 42 } Em uma GUI extensa: ◦ Dificulta identificar o objetivo de cada componente. ◦ Fornece um texto que declara a finalidade de cada componente. } Esse texto é conhecido como rótulo e é criado com a classe JLabel — uma subclasse de JComponent. ◦ Exibe texto somente de leitura, uma imagem ou tanto texto como imagem.
  • 30. © 2010 Pearson. Todos os direitos reservados. slide 43 } O construtor de JFrame utiliza seu argumento String como o texto na barra de título da janela. } Deve anexar cada componente GUI a um contêiner, como um JFrame. } Em geral, você deve decidir onde posicionar cada componente GUI. } Isso é conhecido como especificar o layout dos componentes GUI. } O Java fornece vários gerenciadores de layout que podem ajudá-lo a posicionar os componentes.
  • 31. © 2010 Pearson. Todos os direitos reservados. slide 44 } Muitos IDEs fornecem ferramentas de design de GUI nas quais você pode especificar o tamanho e localização exatos de um componente } O IDE gera o código GUI para você. } Simplifica bastante a criação de GUIs. } Para assegurar que os exemplos desse livro podem ser utilizados com qualquer IDE, não utilizamos um IDE para criar o código GUI. } Utilizamos gerenciadores de layout Java nos nossos exemplos de GUI.
  • 32. © 2010 Pearson. Todos os direitos reservados. slide 45 } FlowLayout } Os componentes GUI são colocados em um contêiner da esquerda para a direita na ordem em que são adicionados ao contêiner. } Quando não houver mais espaço para ajustar componentes da esquerda para a direita, os componentes continuam a aparecer da esquerda para direita na próxima linha. } Se o contêiner for redimensionado, um FlowLayout recorre os componentes para acomodar a nova largura do contêiner, possivelmente com menos ou mais linhas de componentes GUI. } O método setLayout é herdado da classe Container. O argumento para o método deve ser um objeto de uma classe que implementa a interface LayoutManager (por exemplo, FlowLayout).
  • 33. © 2010 Pearson. Todos os direitos reservados. slide 46
  • 34. © 2010 Pearson. Todos os direitos reservados. slide 47
  • 35. © 2010 Pearson. Todos os direitos reservados. slide 48 } O construtor JLabel pode receber uma String especificando o texto do rótulo. } O método setToolTipText (herdado por JLabel de JComponent) especifica a dica de ferramenta que é exibida quando o usuário posiciona o cursor do mouse sobre um JComponent (como um JLabel). } Você anexa um componente a um contêiner utilizando o método add, que é herdado indiretamente da classe Container.
  • 36. © 2010 Pearson. Todos os direitos reservados. slide 49 } Os ícones aprimoram a aparência e comportamento de um aplicativo e também são comumente utilizados para indicar funcionalidade. } Normalmente, um ícone é especificado com um argumento Icon para um construtor ou para o método setIcon do componente. } Um Icon é um objeto de qualquer classe que implementa a interface Icon (pacote javax.swing). } ImageIcon (pacote javax.swing) suporta vários formatos de imagem, incluindo Graphics Interchange Format (GIF), Portable Network Graphics (PNG) e Joint Photographic Experts Group (JPEG).
  • 37. © 2010 Pearson. Todos os direitos reservados. slide 50 } getClass().getResource("bug1.png") } Invoca o método getClass (herdado indiretamente da classe Object) para recuperar uma referência para o objeto Class que representa a declaração de classe LabelFrame. } Em seguida, invoca o método Class getResource, que retorna a localização da imagem como um URL. } O construtor ImageIcon utiliza o URL para localizar a imagem e, então, carrega essa imagem na memória. } O carregador de classe sabe onde está cada classe que ele carrega no disco. O método getResource utiliza o carregador de classe do objeto Class para determinar a localização de um recurso, como um arquivo de imagem.
  • 38. © 2010 Pearson. Todos os direitos reservados. slide 51 } Um JLabel pode exibir um Icon. } O construtor JLabel pode receber texto e um Icon. } O último argumento de construtor indica a justificação dos conteúdos do rótulo. } A interface SwingConstants (pacote javax.swing) declara um conjunto de constantes de inteiro comuns (como SwingConstants.LEFT) que são utilizadas com muitos componentes Swing. } Por padrão, o texto aparece à direita da imagem quando um rótulo contém tanto texto como imagem. } Os alinhamentos horizontal e vertical de um JLabel podem ser configurados com os métodos setHorizontalAlignment e setVerticalAlignment, respectivamente.
  • 39. © 2010 Pearson. Todos os direitos reservados. slide 52
  • 40. © 2010 Pearson. Todos os direitos reservados. slide 53 } A classe JLabel fornece métodos para alterar a aparência de um rótulo depois de ele ter sido instanciado. } O método setText configura o texto exibido no rótulo. } O método getText recupera o texto atual exibido em um rótulo. } O método setIcon especifica o Icon a ser exibido em um rótulo. } O método getIcon recupera o Icon atual exibido em um rótulo. } Os métodos setHorizontalTextPosition e setVerticalTextPosition especificam a posição do texto no rótulo.
  • 41. © 2010 Pearson. Todos os direitos reservados. slide 54 } Por padrão, fechar uma janela simplesmente a oculta. } Chamar o método setDefaultCloseOperation (herdado da classe JFrame) com o argumento JFrame.EXIT_ON_CLOSE indica que o programa deve terminar quando a janela for fechada pelo usuário. } O método setSize especifica a largura e altura da janela em pixels. } O método setVisible com o argumento true exibe a janela na tela.