SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Programação OO
GUI
Instituto Federal de Goiás
Campus Luziânia
Curso Técnico em Informática para Web
ramirovictor3@gmail.com
GUI – Graphical User Interface
A interface gráfica com o usuário (GUI - Graphical
User Interface) dão, de forma intuitiva, ao usuário
um nível básico de familiaridade, sem que jamais
tenha usado o programa. Dessa forma, é reduzido o
tempo de aprendizado do programa pelo usuário.
Prof. Ramiro Victor 2
GUI – Graphical User Interface
As GUIs são construídas a partir de componentes
GUI.
O componente GUI é um objeto com o qual o
usuário
●
interage através de, por exemplo:
●
– Mouse;
●
– Teclado;
●
– Alguma forma de entrada;
●
– Reconhecimento de voz.
Prof. Ramiro Victor 3
Interface Mais Simples
Nós usamos javax.swing.JOptionPane
– Não é muito OO!
– Nem muito poderoso...
Prof. Ramiro Victor 4
Elementos de Uma GUI
Componentes: Elementos desenhados na tela.
Exemplos: botão, textbox, label, etc.
Containers: elementos que servem como
agrupadores lógicos para componentes.
Exemplo: Panel.
 Containers de alto nível: cidadãos de primeira
classe, que efetivamente ocupam um espaço no
desktop.
Exemplos: Frame, DialogBox.
Prof. Ramiro Victor 5
GUI em Java: AWT e Swing
Idéia inicial da Sun: Abstract Windowing Toolkit –
AWT
– Criar um conjunto de classes e métodos que
possam ser usados para escrever uma GUI multi-
plataforma
– Não era poderosa o suficiente, sendo
extremamente limitada.
 Segunda edição (JDK v1.2): Swing
– Nova biblioteca, construída do zero que permite
gráficos e GUIs muito mais poderosos e flexíveis.
 Por compatibilidade retroativa, ambos existem no
Java e, às vezes, nós usamos os dois...
Prof. Ramiro Victor 6
Por que Swing?
Apelido usado pelos desenvolvedores das Java
Foundations Classes (JFC) usadas para o
desenvolvimento do GUI
– Vem do ícone que era usado em uma release inicial.
Porque swing e não awt?
– awt é a versão mais velha e mais primitiva.
– Swing é mais poderosa
– Swing pode ser enviado com as aplicações, sendo
não dependente de máquina.
Prof. Ramiro Victor 7
Componentes Swing

O Swing fornece vários componentes padrão
de GUI que podem ser combinados de forma
a criar sua interface.
Alguns exemplos:
– Botões, Listas, Menus, Áreas de texto, etc.

Swing também fornece containers tais como
janelas e barras de ferramentas.

Pode ser de vários níveis:
– Nível mais alto: frames, diálogos
– Nível Intermediário: panel, scroll pane, tabbed
pane, ...
Prof. Ramiro Victor 8
Hierarquia de Componentes Swing
Prof. Ramiro Victor 9
Métodos comuns em todos os
componentes Swing

get/setPreferredSize
• get/setSize
• get/setLocation
• getLength/Width
• repaint
• setBackground(Color)
• setFont(Font)
• isEnabled / setEnabled(boolean)
• isVisible / setVisible(boolean)
Prof. Ramiro Victor 10
Containers

Descendentes da classe java.awt.Container

Componentes que podem conter outros componentes.

Usamos um layout manager para posicionar e definir o
tamanho dos componentes contidos neles.

Componentes são adicionados a um container usando
as várias formas do método add
Prof. Ramiro Victor 11
Containers Top-Level

Todo programa que usa uma GUI Swing tem pelo

menos um container de alto nível (top-level).

• Um container top-level provê o suporte que os

componenetes siwng necessitam para realizar o

desenho da tela e o tratamento de eventos.

O Swing fornece três containers top-level :

– JFrame (Janela principal)

– JDialog (Janela secundária)

– JApplet (Um applet mostra uma área desenhada

dentro de um navegador internet)
Prof. Ramiro Victor 12
Content Pane

Todo container top-level contém indiretamente um
container intermediário denominado contentPane

Este contentPane contém todos os componentes visíveis
na GUI da janela.

Os containers são adicionados ao contentPane usando
um dos vários tipos de métodos add

Exemplo:

frame = new JFrame(...);

label = new JLabel(...);

frame.getContentPane().add(label, BorderLayout.CENTER);
Prof. Ramiro Victor 13
JFrame

Um frame, implementado como uma instância da
classe JFrame, é uma janela que tem acessórios
tais como borda, título e botões para fechar e
minimizá-la.

Estes acessórios são totalmente dependentes de
plataforma.

As aplicações com uma GUI tipicamente usam ao
menos um frame.
Prof. Ramiro Victor 14
JFrame

Métodos principais

– public void setTitle(String title): Coloca um

título na barra de título da janela.

– public void show(): Faz o frame aparecer na tela.

– public void setVisible(boolean v): Faz com que o

frame se torne visível (v=true) ou não (v=false).

– public void setDefaultCloseOperation(int op) :

Faz a janela realizar uma determinada operação quando

fecha. Mais comum: JFrame.EXIT_ON_CLOSE
Prof. Ramiro Victor 15
Hello World
Prof. Ramiro Victor 16
pack() faz com que a janela seja ajustada para
o tamanho preferido de todos os seus subcomponentes
Exemplo 2
Prof. Ramiro Victor 17
Diagrama UML
Prof. Ramiro Victor 18
Resumo
JFrame = É um contêiner (formulário) para outros
componentes GUI.
JLabel = Área em que podem ser exibidos textos
nãoeditáveis
ou ícones.
 JTextField = Área em que o usuário insere dados pelo
teclado.
JButton = Área que aciona um evento quando o usuário
clica.
02/08/19Prof. Ramiro Victor 19
Resumo
JCheckBox = Possui dois estados: selecionado ou
nãoselecionado.
JComboBox = Lista de itens que o usuário pode fazer
uma
seleção clicando em um item na lista ou digitando na caixa.
JList = Área em que uma lista é exibida, possibilitando a
seleção clicando em qualquer item da lista.
JPanel = Contêiner em que os componentes podem ser
colocados.
02/08/19Prof. Ramiro Victor 20

Mais conteúdo relacionado

Semelhante a Programação OO - Java

Semelhante a Programação OO - Java (20)

Apostila:Curso de java II
Apostila:Curso de java II  Apostila:Curso de java II
Apostila:Curso de java II
 
Manual lab ino
Manual lab inoManual lab ino
Manual lab ino
 
Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)
 
Apostila Visualg
Apostila VisualgApostila Visualg
Apostila Visualg
 
Análise de Interface_Geane Poteriko
Análise de Interface_Geane PoterikoAnálise de Interface_Geane Poteriko
Análise de Interface_Geane Poteriko
 
Apostila2 clp logo
Apostila2 clp logoApostila2 clp logo
Apostila2 clp logo
 
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
 
FLTK Summer Course - Part I - First Impact
FLTK Summer Course - Part I - First ImpactFLTK Summer Course - Part I - First Impact
FLTK Summer Course - Part I - First Impact
 
Applets
AppletsApplets
Applets
 
Caelum Day In Rio
Caelum Day In RioCaelum Day In Rio
Caelum Day In Rio
 
Construindo aplicações com netbeans
Construindo aplicações com netbeansConstruindo aplicações com netbeans
Construindo aplicações com netbeans
 
Apostila: Netbeans
Apostila: NetbeansApostila: Netbeans
Apostila: Netbeans
 
Visualg 1231617089791929-2
Visualg 1231617089791929-2Visualg 1231617089791929-2
Visualg 1231617089791929-2
 
Visualg
VisualgVisualg
Visualg
 
Python Interface Gráfica Tkinter
Python Interface Gráfica TkinterPython Interface Gráfica Tkinter
Python Interface Gráfica Tkinter
 
Aula Java Swing
Aula Java SwingAula Java Swing
Aula Java Swing
 
Apostilaandroidfatecnormal
ApostilaandroidfatecnormalApostilaandroidfatecnormal
Apostilaandroidfatecnormal
 
Programação avançada
Programação avançada Programação avançada
Programação avançada
 
Visualg2_manual.pdf
Visualg2_manual.pdfVisualg2_manual.pdf
Visualg2_manual.pdf
 
Aula4
Aula4Aula4
Aula4
 

Mais de Secretaria de Educação de Goiás (7)

Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Uso das tecnologias moveis na educação superior
Uso das tecnologias moveis na educação superiorUso das tecnologias moveis na educação superior
Uso das tecnologias moveis na educação superior
 

Último

Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 

Último (8)

Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

Programação OO - Java

  • 1. Programação OO GUI Instituto Federal de Goiás Campus Luziânia Curso Técnico em Informática para Web ramirovictor3@gmail.com
  • 2. GUI – Graphical User Interface A interface gráfica com o usuário (GUI - Graphical User Interface) dão, de forma intuitiva, ao usuário um nível básico de familiaridade, sem que jamais tenha usado o programa. Dessa forma, é reduzido o tempo de aprendizado do programa pelo usuário. Prof. Ramiro Victor 2
  • 3. GUI – Graphical User Interface As GUIs são construídas a partir de componentes GUI. O componente GUI é um objeto com o qual o usuário ● interage através de, por exemplo: ● – Mouse; ● – Teclado; ● – Alguma forma de entrada; ● – Reconhecimento de voz. Prof. Ramiro Victor 3
  • 4. Interface Mais Simples Nós usamos javax.swing.JOptionPane – Não é muito OO! – Nem muito poderoso... Prof. Ramiro Victor 4
  • 5. Elementos de Uma GUI Componentes: Elementos desenhados na tela. Exemplos: botão, textbox, label, etc. Containers: elementos que servem como agrupadores lógicos para componentes. Exemplo: Panel.  Containers de alto nível: cidadãos de primeira classe, que efetivamente ocupam um espaço no desktop. Exemplos: Frame, DialogBox. Prof. Ramiro Victor 5
  • 6. GUI em Java: AWT e Swing Idéia inicial da Sun: Abstract Windowing Toolkit – AWT – Criar um conjunto de classes e métodos que possam ser usados para escrever uma GUI multi- plataforma – Não era poderosa o suficiente, sendo extremamente limitada.  Segunda edição (JDK v1.2): Swing – Nova biblioteca, construída do zero que permite gráficos e GUIs muito mais poderosos e flexíveis.  Por compatibilidade retroativa, ambos existem no Java e, às vezes, nós usamos os dois... Prof. Ramiro Victor 6
  • 7. Por que Swing? Apelido usado pelos desenvolvedores das Java Foundations Classes (JFC) usadas para o desenvolvimento do GUI – Vem do ícone que era usado em uma release inicial. Porque swing e não awt? – awt é a versão mais velha e mais primitiva. – Swing é mais poderosa – Swing pode ser enviado com as aplicações, sendo não dependente de máquina. Prof. Ramiro Victor 7
  • 8. Componentes Swing  O Swing fornece vários componentes padrão de GUI que podem ser combinados de forma a criar sua interface. Alguns exemplos: – Botões, Listas, Menus, Áreas de texto, etc.  Swing também fornece containers tais como janelas e barras de ferramentas.  Pode ser de vários níveis: – Nível mais alto: frames, diálogos – Nível Intermediário: panel, scroll pane, tabbed pane, ... Prof. Ramiro Victor 8
  • 9. Hierarquia de Componentes Swing Prof. Ramiro Victor 9
  • 10. Métodos comuns em todos os componentes Swing  get/setPreferredSize • get/setSize • get/setLocation • getLength/Width • repaint • setBackground(Color) • setFont(Font) • isEnabled / setEnabled(boolean) • isVisible / setVisible(boolean) Prof. Ramiro Victor 10
  • 11. Containers  Descendentes da classe java.awt.Container  Componentes que podem conter outros componentes.  Usamos um layout manager para posicionar e definir o tamanho dos componentes contidos neles.  Componentes são adicionados a um container usando as várias formas do método add Prof. Ramiro Victor 11
  • 12. Containers Top-Level  Todo programa que usa uma GUI Swing tem pelo  menos um container de alto nível (top-level).  • Um container top-level provê o suporte que os  componenetes siwng necessitam para realizar o  desenho da tela e o tratamento de eventos.  O Swing fornece três containers top-level :  – JFrame (Janela principal)  – JDialog (Janela secundária)  – JApplet (Um applet mostra uma área desenhada  dentro de um navegador internet) Prof. Ramiro Victor 12
  • 13. Content Pane  Todo container top-level contém indiretamente um container intermediário denominado contentPane  Este contentPane contém todos os componentes visíveis na GUI da janela.  Os containers são adicionados ao contentPane usando um dos vários tipos de métodos add  Exemplo:  frame = new JFrame(...);  label = new JLabel(...);  frame.getContentPane().add(label, BorderLayout.CENTER); Prof. Ramiro Victor 13
  • 14. JFrame  Um frame, implementado como uma instância da classe JFrame, é uma janela que tem acessórios tais como borda, título e botões para fechar e minimizá-la.  Estes acessórios são totalmente dependentes de plataforma.  As aplicações com uma GUI tipicamente usam ao menos um frame. Prof. Ramiro Victor 14
  • 15. JFrame  Métodos principais  – public void setTitle(String title): Coloca um  título na barra de título da janela.  – public void show(): Faz o frame aparecer na tela.  – public void setVisible(boolean v): Faz com que o  frame se torne visível (v=true) ou não (v=false).  – public void setDefaultCloseOperation(int op) :  Faz a janela realizar uma determinada operação quando  fecha. Mais comum: JFrame.EXIT_ON_CLOSE Prof. Ramiro Victor 15
  • 16. Hello World Prof. Ramiro Victor 16 pack() faz com que a janela seja ajustada para o tamanho preferido de todos os seus subcomponentes
  • 19. Resumo JFrame = É um contêiner (formulário) para outros componentes GUI. JLabel = Área em que podem ser exibidos textos nãoeditáveis ou ícones.  JTextField = Área em que o usuário insere dados pelo teclado. JButton = Área que aciona um evento quando o usuário clica. 02/08/19Prof. Ramiro Victor 19
  • 20. Resumo JCheckBox = Possui dois estados: selecionado ou nãoselecionado. JComboBox = Lista de itens que o usuário pode fazer uma seleção clicando em um item na lista ou digitando na caixa. JList = Área em que uma lista é exibida, possibilitando a seleção clicando em qualquer item da lista. JPanel = Contêiner em que os componentes podem ser colocados. 02/08/19Prof. Ramiro Victor 20