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

Propaganda
Universidade Federal do Amazonas
Departamento de Ciência da Computação
IEC481 – Projeto de Programas
Programação Orientada a Objetos
em Java
GUI – Graphical User Interface
Professor: César Melo
Slides baseados em materiais preparados pelo
prof. Horácio Fernandes
AWT – Abstract Windows Toolkit
import java.awt.*;



As ferramentas de controle de janelas do java
também conhecidas por AWT (Abstract Window
Toolkit) são uns dos pontos fortes do java.
Estas ferramentas fornecem toda a funcionalidade
que se podia esperar de um sistema moderno de
janelas.
O AWT contém os mais usados componentes das
interfaces gráficas atuais portanto habilita a aplicação
a
ser
executada
em
sistemas
gráficos
completamente diferentes.
AWT – Abstract Windows Toolkit
import java.awt.*;

Todos os componentes tem:




Uma posição e tamanho;
Uma cor e uma cor de fundo.
Componentes podem ser habilitados e desabilitados;
Existe uma interface padrão para os componentes
tratarem eventos
AWT – Abstract Windows Toolkit
import java.awt.*;
Componentes AWT podem ser divididos em três partes:



Componentes da Interface: Componentes da Interface abrangem todos os
widgets e controles associados a uma interface gráfica. Exemplos destes
componentes são: buttons, text labels, scrollbars, pick list e campos textentry.
Containers: abrangem áreas nas quais os componentes da interface podem
ser postos. Isto habilita os componentes a serem agrupados e a formarem
um objeto mais coeso e fácil de ser manipulado. Um Panel é um exemplo
deste tipo de componente.
Windows: são um tipo muito especial da classe Component. Todos os
outros componentes são adicionados dentro de uma window. Normalmente
quando se programa applets, windows não são usadas.
AWT – Componentes da Interface

Principais componentes da Interface:

BUTTON;

CANVAS;

CHECKBOX;

LABEL;

LIST;

CHOICE;

SCROLLBAR;

TEXTFIELD;

TEXTAREA
AWT – Exemplo
AWT – Containers



Containers são simplesmente componentes que
podem conter outros componentes.
Pense como uma maneira de subdividir uma área
para construir a interface com o usuário, aonde os
componentes podem ser colocados.
Existem dois tipos de containers:


Panels e Windows.
A maior diferença entre eles é que um Panel é definido
como uma área em uma janela já existente e Window é
uma janela completamente nova. Quando a aplicação é
uma Applet o único container que pode ser aplicado é o
Panel.
AWT – Containers - Exemplo
AWT – Layout


Layout pode ser interpretado como uma máscara que
é colocada sobre um container para definir como os
seus componentes serão adicionados.
Normalmente é usado o layout BorderLayout(),
baseado nos pontos cardeais.
AWT – Layout - Exemplo
O que é SWING
import javax.swing.*;

Swing é um toolkit que inclui um extenso conjunto de
componentes para construir GUIs e adicionar mais
interatividade em aplicações Java.


Para criar um programa em Java com GUI, você terá que
aprender sobre Swing.
O swing é uma extensão das classes AWT




Inclui componentes como: tabelas e seus controles, listas e
seus controles, estruturas de árvores e seus controles, botões
e etc.
Até mesmo o suporte a internacionalização e à acessibilidade é
possível.
Suporta variados look and feels e a capacidade de que o
desenvolvedor crie o seu próprio look and feel.
Swing é parte do Java Foundation Classes (JFC).
O que é SWING – Componentes Básicos

JButton (public javax.swing.JButton btnMiddleButton; )

JCheckBox (public javax.swing.JCheckBox chkOption; )
O que é SWING – Componentes Básicos

JComboBox (public javax.swing.JComboBox comboAnimal; )

JRadioButton(public javax.swing.JRadioButton rdBtnAnimal; )
O que é SWING – Componentes Básicos

JList (public javax.swing.JList listOptions; )

JMenu (public javax.swing.JButton btnMiddleButton; )

JTextField(public javax.swing.JTextField txtFieldName; )

JSlider (public javax.swing.JSlider sldMaximize; )

JSpinner (public javax.swing.JSpinner Date; )

...
O que é SWING – Exemplo
1
2
3
4
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
5
6
7
8
9
10
public class LabelTest extends JFrame{
private JLabel L1,L2,L3;
11
public LabelTest(){
super("Testando a classe JLabel");
Container container = getContentPane();
container.setLayout(new FlowLayout());
12
13
L1 = new JLabel("Label com texto");
14
L1.setToolTipText("Este e o label 1");
15
container.add(L1);
16
17
Icon martelo = new ImageIcon("c:/emmsr2005/java/tribunal_etica.gif");
18
L2 = new JLabel("Label com texto e icone",martelo,SwingConstants.LEFT);
19
L2.setToolTipText("Este e o Label 2");
20
container.add(L2);
21
22
L3 = new JLabel();
23
L3.setText("Label com texto, icone como botao");
24
L3.setIcon(martelo);
25
L3.setHorizontalTextPosition(SwingConstants.CENTER);
26
L3.setVerticalTextPosition(SwingConstants.BOTTOM);
27
L3.setToolTipText("Este e o label 3");
28
container.add(L3);
29
O que é SWING – Exemplo
30
setSize(275,170);
31
setVisible(true);
32
}
33
public static void main(String args[]){
34
LabelTest aplicacao = new LabelTest();
35
aplicacao.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
36
37
}
}
Forma mais fácil: Eclipse
Eclipse – Um novo Projeto
Eclipse – Um novo
Projeto
Eclipse – Um novo
Projeto
Eclipse – Um novo arquivo para o Projeto
Eclipse – Um
novo arquivo
para o Projeto
Eclipse – Um
novo arquivo
para o Projeto
Eclipse – Um novo arquivo para o Projeto
Eclipse – Hello World
Eclipse – Run As -> Java Application
Eclipse – Hello World
GUI em Java

Dúvidas?
Download