You are on page 1of 28

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 java.awt.*;

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 java.awt.*;

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 java.awt.*;

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 javax.swing.*;

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 javax.swing.JButton btnMiddleButton; )

JCheckBox (public javax.swing.JCheckBox chkOption; )

O que SWING Componentes Bsicos

JComboBox (public javax.swing.JComboBox comboAnimal; )

JRadioButton(public javax.swing.JRadioButton rdBtnAnimal; )

O que SWING Componentes Bsicos

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 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?

You might also like