Universidade Federal do Amazonas
Departamento de Cincia da Computao
IEC481 Projeto de Programas
Programao Orientada a Objetos
em Java
GUI Graphical User Interface
Professor: Csar Melo
Slides baseados em materiais preparados pelo
prof. Horcio Fernandes
AWT Abstract Windows Toolkit
import [Link].*;
As ferramentas de controle de janelas do java
tambm conhecidas por AWT (Abstract Window
Toolkit) so uns dos pontos fortes do java.
Estas ferramentas fornecem toda a funcionalidade
que se podia esperar de um sistema moderno de
janelas.
O AWT contm os mais usados componentes das
interfaces grficas atuais portanto habilita a aplicao
a
ser
executada
em
sistemas
grficos
completamente diferentes.
AWT Abstract Windows Toolkit
import [Link].*;
Todos os componentes tem:
Uma posio e tamanho;
Uma cor e uma cor de fundo.
Componentes podem ser habilitados e desabilitados;
Existe uma interface padro para os componentes
tratarem eventos
AWT Abstract Windows Toolkit
import [Link].*;
Componentes AWT podem ser divididos em trs partes:
Componentes da Interface: Componentes da Interface abrangem todos os
widgets e controles associados a uma interface grfica. Exemplos destes
componentes so: 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 fcil de ser manipulado. Um Panel um exemplo
deste tipo de componente.
Windows: so um tipo muito especial da classe Component. Todos os
outros componentes so adicionados dentro de uma window. Normalmente
quando se programa applets, windows no so usadas.
AWT Componentes da Interface
Principais componentes da Interface:
BUTTON;
CANVAS;
CHECKBOX;
LABEL;
LIST;
CHOICE;
SCROLLBAR;
TEXTFIELD;
TEXTAREA
AWT Exemplo
AWT Containers
Containers so simplesmente componentes que
podem conter outros componentes.
Pense como uma maneira de subdividir uma rea
para construir a interface com o usurio, aonde os
componentes podem ser colocados.
Existem dois tipos de containers:
Panels e Windows.
A maior diferena entre eles que um Panel definido
como uma rea em uma janela j existente e Window
uma janela completamente nova. Quando a aplicao
uma Applet o nico container que pode ser aplicado o
Panel.
AWT Containers - Exemplo
AWT Layout
Layout pode ser interpretado como uma mscara que
colocada sobre um container para definir como os
seus componentes sero adicionados.
Normalmente usado o layout BorderLayout(),
baseado nos pontos cardeais.
AWT Layout - Exemplo
O que SWING
import [Link].*;
Swing um toolkit que inclui um extenso conjunto de
componentes para construir GUIs e adicionar mais
interatividade em aplicaes Java.
Para criar um programa em Java com GUI, voc ter que
aprender sobre Swing.
O swing uma extenso das classes AWT
Inclui componentes como: tabelas e seus controles, listas e
seus controles, estruturas de rvores e seus controles, botes
e etc.
At mesmo o suporte a internacionalizao e acessibilidade
possvel.
Suporta variados look and feels e a capacidade de que o
desenvolvedor crie o seu prprio look and feel.
Swing parte do Java Foundation Classes (JFC).
O que SWING Componentes Bsicos
JButton (public [Link] btnMiddleButton; )
JCheckBox (public [Link] chkOption; )
O que SWING Componentes Bsicos
JComboBox (public [Link] comboAnimal; )
JRadioButton(public [Link] rdBtnAnimal; )
O que SWING Componentes Bsicos
JList (public [Link] listOptions; )
JMenu (public [Link] btnMiddleButton; )
JTextField(public [Link] txtFieldName; )
JSlider (public [Link] sldMaximize; )
JSpinner (public [Link] Date; )
...
O que SWING Exemplo
1
2
3
4
import [Link].*;
import [Link].*;
import [Link].*;
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();
[Link](new FlowLayout());
12
13
L1 = new JLabel("Label com texto");
14
[Link]("Este e o label 1");
15
[Link](L1);
16
17
Icon martelo = new ImageIcon("c:/emmsr2005/java/tribunal_etica.gif");
18
L2 = new JLabel("Label com texto e icone",martelo,[Link]);
19
[Link]("Este e o Label 2");
20
[Link](L2);
21
22
L3 = new JLabel();
23
[Link]("Label com texto, icone como botao");
24
[Link](martelo);
25
[Link]([Link]);
26
[Link]([Link]);
27
[Link]("Este e o label 3");
28
[Link](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
[Link](JFrame.EXIT_ON_CLOSE);
36
37
}
}
Forma mais fcil: 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
Dvidas?