Você está na página 1de 260

Linguagem

deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados
So Paulo, 2012

Universidade Paulista (UNIP)


Disciplina: Aplicao de Linguagem de Programao Orientada
a Objetos (ALPOO)

Arquitetura Java Standard Edition (JSE)

Prof. Msc. Vladimir Camelo


Vladimir.professor@gmail.com
01/08/12

vladimir.professor@gmail.com

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

01/08/12

vladimir.professor@gmail.com

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Comparaes entre as linguagens

01/08/12

vladimir.professor@gmail.com

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Edies Java
Java Standard Edition (Java SE):
APIs padro, base da linguagem Java. Aplicaes Desktop.
Java Micro Edition (Java ME):
APIs para aplicaes em micro-dispositivos (pda, celulares,
pagers,...)
Java Enterprise Edition (Java EE):
Destinada aplicaes corporativas distribudas e de arquitetura
multicamadas.

01/08/12

vladimir.professor@gmail.com

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Java como Plataforma de Desenvolvimento


Java Enterprise Edition (JEE)
Uma especificao que define interfaces padres e boas prticas
para construo de aplicaes empresariais;
Preparada para permitir a separao lgica (e possivelmente fsica)
da apresentao, da lgica do negcio e dados;
Diversos fornecedores fornecem produtos de acordo com a
especificao JEE.

01/08/12

vladimir.professor@gmail.com

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

01/08/12

vladimir.professor@gmail.com

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

01/08/12

vladimir.professor@gmail.com

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JEE: Viso Lgica


Camada de Apresentao
Presentation Tier

Permite o usurio (ou sistema externo)


interagir com a aplicao

Camada intermediria
Middle Tier

Executa processos relacionados com a


lgica do negcio alm de permitir a
integrao com outros sistemas (internos
ou externos)

Camada de Persistncia
Data Tier

Armazena (persiste) os dados usados na


apresentao ou coletados pelas camadas
acima.

01/08/12

vladimir.professor@gmail.com

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

01/08/12

vladimir.professor@gmail.com

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

01/08/12

vladimir.professor@gmail.com

10

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Java: Java Enterprise Edition


Fornece APIs para simplificar o desenvolvimento de aplicaes
empresariais
Enterprise JavaBeans (EJB)
Componente Server-side

Servlets
Extende a funcionalidade do servidor Web

JavaServer Pages (JSP page)


Permite gerar contedo dinmico para o um cliente web

Disponibiliza implicitamente os seguintes servios: transaes,


segurana, clustering, messaging, etc.

01/08/12

vladimir.professor@gmail.com

11

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

01/08/12

vladimir.professor@gmail.com

12

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

01/08/12

vladimir.professor@gmail.com

13

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Profissional Certificado JAVA


diferenciado no mercado

01/08/12

vladimir.professor@gmail.com

14

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Vamos iniciar
nosso aprendizado
em JAVA

01/08/12

vladimir.professor@gmail.com

15

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados
So Paulo, 2012

Universidade Paulista (UNIP)

Aplicaes utilizando Interface grfica


com Usurio (GUI) em Abstract
Window Toolkit (AWT) em Java

Prof. Msc. Vladimir Camelo


vladimir.professor@gmail.com
01/08/12

vladimir.professor@gmail.com

16

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

01/08/12

vladimir.professor@gmail.com

17

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

01/08/12

vladimir.professor@gmail.com

18

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

01/08/12

vladimir.professor@gmail.com

19

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

01/08/12

vladimir.professor@gmail.com

20

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
AWT (Abstract Window Toolkit)
uma biblioteca para a programao de interface grfica com o usurio
(Graphical User Interface - GUI) no qual seus elementos dependem do
sistema de interface grfica nativo.
Possibilita tambm manipular eventos (aes) realizadas nesta interface.
Controla o posicionamento de componentes visuais em programas que
possuem interface grfica com a API Java.
As atuais JDKs apresentam um grande nmero de componentes grficos.

Containers
Componentes
Gerenciadores de Layout
Cores, Desenhos e Fontes
Documentao Java Pacote AWT - http://java.sun.com/j2se/1.4.2/docs/api/java/awt/package-summary.html

01/08/12

vladimir.professor@gmail.com

21

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Componentes grficos so classes que contm membros associados a
informaes visuais, como cores, dimenses e bordas.
Para criar um programa com interface grfica com o usurio, deve ser
levado em consideraes fatores como:
Aspectos de ergonomia de software;
Aspectos de usabilidade;
Entre outros fatores.

Documentao Java Pacote AWT - http://java.sun.com/j2se/1.4.2/docs/api/java/awt/package-summary.html

01/08/12

vladimir.professor@gmail.com

22

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
AlphaComposite

GridLayout

AWTEvent

Image

AWTEventMulticaster

ImageCapabilities

AWTKeyStroke

Insets

AWTPermission

JobAttributes

BasicStroke

JobAttributes.DefaultSelectionType

BorderLayout

JobAttributes.DestinationType

BufferCapabilities

JobAttributes.DialogType

BufferCapabilities.FlipContents

JobAttributes.MultipleDocumentHandlingType

Button

JobAttributes.SidesType

Canvas

KeyboardFocusManager

CardLayout

Label

Checkbox

List

CheckboxGroup

MediaTracker

01/08/12

vladimir.professor@gmail.com

23

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
CheckboxMenuItem

Menu

Choice

MenuBar

Color

MenuComponent

Component

MenuItem

ComponentOrientation

MenuShortcut

Container

PageAttributes

ContainerOrderFocusTraversalPolicy

PageAttributes.ColorType

Cursor

PageAttributes.MediaType

DefaultFocusTraversalPolicy

PageAttributes.OrientationRequestedType

DefaultKeyboardFocusManager

PageAttributes.OriginType

Dialog

PageAttributes.PrintQualityType

Dimension

Panel

DisplayMode

Point

Event

Polygon

EventQueue

PopupMenu

01/08/12

vladimir.professor@gmail.com

24

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
FileDialog

PrintJob

FlowLayout

Rectangle

FocusTraversalPolicy

RenderingHints

Font

RenderingHints.Key

FontMetrics

Robot

Frame

Scrollbar

GradientPaint

ScrollPane

Graphics

ScrollPaneAdjustable

Graphics2D

SystemColor

GraphicsConfigTemplate

TextArea

GraphicsConfiguration

TextComponent

GraphicsDevice

TextField

GraphicsEnvironment

TexturePaint

GridBagConstraints

Toolkit

GridBagLayout

Window

01/08/12

vladimir.professor@gmail.com

25

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
Component (java.awt.Component): classe abstrata, que possibilita
a criao de componentes so estar associada a eventos nativos do Java.

Construtores
Component ( )

Principais Mtodos
void add ( PopupMenu menu ): Adiciona um menu popup ao componente.
void paint ( Graphics g ): Executado toda vez que o componente precisa ser
desenhado.

Documentao Java Componente - http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Component.html#Component


()
http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Component.html#Component()

01/08/12

vladimir.professor@gmail.com

26

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Component (java.awt.Component)
Principais Mtodos
void remove ( MenuComponent menu ): Remove o menu popup do
componente.
void repaint ( ): Redesenha o componente chamando paint()
void setBackground ( Color cor ): Define a cor de fundo do componente
void setBounds ( int x, int y, int larg, int alt ): Define a localizao e a
dimenso do coponente.

Documentao Java Componente - http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Component.html#Component


()
http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Component.html#Component()

01/08/12

vladimir.professor@gmail.com

27

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
Component (java.awt.Component)
void setCursor ( Cursor tipoCursor ): Define o tipo de cursor.
void setEnable ( boolean b ): Abilita ou desabilita o componente.
void setFont ( Font tipoFonte ): Define a Fonte.
void setForeground ( Color cor ): Define a cor de frente (Fonte).

Documentao Java Componente - http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Component.html#Component


()
http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Component.html#Component()

01/08/12

vladimir.professor@gmail.com

28

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Component (java.awt.Component)
void setLocation ( int x, int y ): Define a localizao dentro do container.
void setSize ( int largura, int altura ): Define o tamanho.
void setVisible ( boolean b ): Define se o componente est visvel ou no.
Void update ( Graphics g ): Redesenha o componente.

Documentao Java Componente - http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Component.html#Component


()
http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/Component.html#Component()

01/08/12

vladimir.professor@gmail.com

29

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
Container (java.awt.Container): um componente que possibilita conter
outros componentes grficos. Os componentes adicionados em um container
devem ser gerenciados por layouts e os eventos controlados por listeners.

Construtores
Container ( )

Principais Mtodos
void add ( Component componente, int pos ): Adiciona um componente ao
container.
void remove ( Component componente ): Remove um componente do
container.
Documentao Java Container - http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Container.html

01/08/12

vladimir.professor@gmail.com

30

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Container (java.awt.Container)
void remove ( int pos ): Remove um componente do container.
void removeAll ( ): Remove todos os componentes do container.
void setLayout ( LayoutManager mgr ): Define o gerenciador de layout do
container.

Documentao Java Container - http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Container.html


01/08/12

vladimir.professor@gmail.com

31

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
Windows (java.awt.Window)
Construtores
Window ( Frame aplicacao )
Window ( Window aplicacao )

Principais Mtodos
void dispose ( ): Elimina a janela.
void hide ( ): Esconde a janela (depricado, substituido por setVisible(false)).

Documentao Java Window - http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Window.html


01/08/12

vladimir.professor@gmail.com

32

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Windows (java.awt.Window)
void pack ( ): Ajusta tamanho e posicionamento dos componentes.
void setVisible ( boolean b): Define se a janela est visvel ou no.
void show ( ): Exibe a janela (depricado, substituido por setVisible(true) ).

Documentao Java Window - http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Window.html


01/08/12

vladimir.professor@gmail.com

33

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
Frame (java.awt.Frame)
Construtores
Frame ( )
Frame ( String titulo )

Principais Mtodos
void setIconImage ( Image imagem ): Define um cone para a frame.
void setMenuBar ( MenuBar menu ): Define uma barra de menus para a
frame.

Documentao Java Frame - http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Frame.html


01/08/12

vladimir.professor@gmail.com

34

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Frame (java.awt.Frame)
void setResizable ( boolean ajustavel ): Define se a frame pode ser
redimensionada pelo usurio ou no.
void setTitle ( String titulo ): Define o ttulo da frame.

Gerenciador de Layout default


BorderLayout

Documentao Java Frame - http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Frame.html


01/08/12

vladimir.professor@gmail.com

35

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
Panel (java.awt.Panel)
Construtores
Panel ( )
Panel ( LayoutManager layout )

Gerenciador de Layout default


FlowLayout

Documentao Java Panel - http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Panel.html


01/08/12

vladimir.professor@gmail.com

36

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
Label

Checkbox

Button

CheckboxGroup

TextField

Choice

TextArea

List

01/08/12

vladimir.professor@gmail.com

37

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
Label (java.awt.Label)
Principais Campos
CENTER
LEFT
RIGHT

Construtores
Label ( )
Label ( String texto )
Label ( String texto, int alinhamento )

Documentao Java Label - http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Label.html


01/08/12

vladimir.professor@gmail.com

38

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Label (java.awt.Label)
Campos herdados da classe java.awt.Component
BOTTOM_ALIGNMENT
CENTER_ALIGNMENT
LEFT_ALIGNMENT
RIGHT_ALIGNMENT
TOP_ALIGNMENT

Documentao Java Label - http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Label.html


01/08/12

vladimir.professor@gmail.com

39

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Label (java.awt.Label)
Campos herdados da interface java.awt.IamgeObserver
ABORT
ALLBITS
ERROR
FRAMEBITS
HEIGHT
PROPERTIES
SOMEBITS
WIDTH
Documentao Java Label - http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Label.html
01/08/12

vladimir.professor@gmail.com

40

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
Label (java.awt.Label)
Principais Mtodos
int getAlignment ( ): Retorna o alinhamento horizontal.
String getText ( ): Retorna o texto do Label.
void setAlignment ( int alinhamento ): Ajusta o alinhamento horizontal.
void setText ( String texto ): Define o texto do Label.

Documentao Java Label - http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Label.html


01/08/12

vladimir.professor@gmail.com

41

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Label (java.awt.Label)
Alguns mtodos herdados da classe java.awt.Component
Action / add / addComponentListener / addFocusListener / addKeyListener / addMouseListener
addMouseMotionListener / bounds / checkImage / contains / createImage / disable
disableEvents / doLayout / enable / getAlignmentX / getAlignmentY / getBackground
getBounds / getComponentAt / getComponentListeners / getCursor / getFont / getFontMetrics
getForeground / getGraphics / getHeight / getListeners / getLocale / getLocation / getLocation
getLocationOnScreen / getName / getParent / getSize / getSize / getToolkit
getTreeLock / getWidth / getX / getY / gotFocus / handleEvent / hasFocus
Hide / imageUpdate / inside / invalidate / isCursorSet / isDisplayable / isEnabled
isFocusable / isVisible / keyDown / keyUp / layout / list / locate / location
lostFocus / move / nextFocus / paint / paintAll / print / printAll / remove / repaint
Resize / setBackground / setBounds / setBounds / setComponentOrientation
setCursor / setDropTarget / setEnabled / setFocusable / setFont / setForeground / setLocale
setLocation / setName / setSize / setVisible / show / size / toString / Update / validate
01/08/12

vladimir.professor@gmail.com

42

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Label (java.awt.Label) - Exemplo
import java.awt.*;
import java.awt.event.*;
public class ExLabel extends Frame {
Label l1, l2, l3;
public ExLabel() {
addWindowListener(
new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);
setSize(300, 200);

01/08/12

vladimir.professor@gmail.com

43

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Label (java.awt.Label) - Exemplo
setLayout(new GridLayout(3,1));
l1 = new Label();
l1.setText("Label 1");
l1.setFont(new Font("Serif", Font.BOLD, 18));
add(l1);
l2 = new Label("Label 2", Label.CENTER);
l2.setForeground(Color.blue); add(l2);
l3 = new Label("Label 3");
l3.setAlignment(Label.RIGHT); add(l3);
}
public static void main (String args[]) {
ExLabel exLabel = new ExLabel();
exLabel.setVisible(true);
}
}
01/08/12

vladimir.professor@gmail.com

44

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Label (java.awt.Label) - Resultado

01/08/12

vladimir.professor@gmail.com

45

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
Button (java.awt.Button)
Construtores
Button ( )
Button ( String texto )

Principais Mtodos
void addActionListener ( ActionListener l ): Adiciona um ouvinte de ao ao
boto.

01/08/12

vladimir.professor@gmail.com

46

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Button (java.awt.Button)
Void addMouseListener ( MouseListener m): Adiciona um ouvinte
de mouse ao boto.
String getLabel ( ): Retorna o texto do boto.
void setLabel ( String texto ): Define o texto do boto.

01/08/12

vladimir.professor@gmail.com

47

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Button (java.awt.Button) - Exemplo
import java.awt.*;
import java.awt.event.*;
public class ExButton extends Frame implements ActionListener {
Button b1, b2, b3;
public ExButton() {
addWindowListener(
new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);
setSize(300, 200);

01/08/12

vladimir.professor@gmail.com

48

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Button (java.awt.Button) - Exemplo
setLayout(new FlowLayout());
b1 = new Button();
b1.setLabel("Boto 1");
b1.addActionListener(this);
add(b1);
b2 = new Button("Boto 2");
b2.setActionCommand("seila");
b2.addActionListener(this);
add(b2);
b3 = new Button("Boto 3");
b3.addActionListener(this);
add(b3);
b3.disable();
}
01/08/12

vladimir.professor@gmail.com

49

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Button (java.awt.Button) - Exemplo
public void actionPerformed(ActionEvent e) {
String quemFoi = e.getActionCommand();
if (quemFoi.equals("Boto 1"))
b3.enable();
if (quemFoi.equals("seila"))
b1.setForeground(Color.blue);
if (quemFoi.equals("Boto 3"))
b1.setFont(new Font("Dialog", 0, 14));
}
public static void main (String args[]) {
ExButton exButton = new ExButton();
exButton.setVisible(true);
}
}
01/08/12

vladimir.professor@gmail.com

50

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Button (java.awt.Button) - Resultado

01/08/12

vladimir.professor@gmail.com

51

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
TextField (java.awt.TextField)
Construtores
TextField ( )
TextField ( int colunas )
TextField ( String texto )
TextField ( String texto, int colunas )

01/08/12

vladimir.professor@gmail.com

52

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
TextField (java.awt.TextField)
Principais Mtodos
int getColumns ( ): Retorna a quantidade de colunas visveis.
String getText ( ): Retorna o texto do componente.
void setColumns ( int colunas ): Define a quantidade de colunas visveis.
void setEditable ( boolean b ): Define se o TextField pode ser editado ou
no.
void setText ( String texto ): Define o texto do componente.

01/08/12

vladimir.professor@gmail.com

53

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
TextField (java.awt.TextField)
import java.awt.*;
import java.awt.event.*;
public class ExemploTextField extends Frame{
private TextField tx = new TextField(20);
private Label l1 = new Label ("Nome");
public ExemploTextField() {
setTitle("Exemplo Label");
setLayout(new FlowLayout());
addWindowListener(
new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);

01/08/12

vladimir.professor@gmail.com

54

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
TextField (java.awt.TextField)
add(l1);
add(tx);
setSize(300, 200);
setVisible(true);
pack();
}
public static void main(String args[]){
new ExemploTextField();
}
}

01/08/12

vladimir.professor@gmail.com

55

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
TextField (java.awt.TextField)

01/08/12

vladimir.professor@gmail.com

56

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
TextArea (java.awt.TextArea)
Construtores
TextArea ( )
TextArea ( int linhas, int colunas )
TextArea ( String texto )
TextArea ( String texto, int linhas, int colunas )
TextArea ( String texto, int linhas, int colunas, int barrasDeRolagem )

01/08/12

vladimir.professor@gmail.com

57

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
TextArea (java.awt.TextArea)
Principais Mtodos
void append ( String texto ): Acrescenta uma string ao contedo do texto.
int getRows ( ): Retorna a quantidade de linhas do texto.
void insert ( String texto, int pos ): Insere uma string ao texto.
void replaceRange ( String texto, int inicio, int fim ): Substitui uma rea do
texto por uma string.
void setRows ( int linhas ): Define a quantidade de linhas.

01/08/12

vladimir.professor@gmail.com

58

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
TextArea (java.awt.TextArea) - Exemplo
import java.awt.*;
import java.awt.event.*;
public class ExText extends Frame implements ActionListener {
TextField tf1, tf2;
TextArea ta1, ta2;
String novaLinha;
Button b1;
public ExText() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
setSize(300, 500);
setLayout(new FlowLayout());
novaLinha = System.getProperty("line.separator");
tf1 = new TextField("Digite alguma coisa", 30);
tf2 = new TextField("Digite alguma coisa", 30);
01/08/12

vladimir.professor@gmail.com

59

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
TextArea (java.awt.TextArea) - Exemplo
add(tf1);
tf1.addActionListener(this);
add(tf2);
tf2.addActionListener(this);
tf2.select(1,5);
ta1 = new TextArea(10, 30);
ta2 = new TextArea(10, 30);
ta1.setEditable(false);
add(ta1);
add(ta2);

01/08/12

vladimir.professor@gmail.com

60

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
TextArea (java.awt.TextArea) - Exemplo
b1 = new Button("Aperte-me");
b1.addActionListener(this);
add(b1);
}
public void actionPerformed(ActionEvent e) {
String quemFoi = e.getActionCommand();
ta1.append(tf1.getText() + novaLinha);
ta2.append(tf2.getSelectedText() + novaLinha);
if (quemFoi.equals("Aperte-me")) {
ta1.setText("");
ta2.setForeground(Color.white);
ta2.setBackground(Color.black);
}
}
public static void main(String[] args) {
ExText exText = new ExText();
exText.setVisible(true);
}
}
01/08/12

vladimir.professor@gmail.com

61

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
TextArea (java.awt.TextArea) - Resultado

01/08/12

vladimir.professor@gmail.com

62

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
CheckBox (java.awt.CheckBox)
Construtores
Checkbox ( )
Checkbox ( String texto)
Checkbox ( String texto, boolean estado)
Checkbox ( String texto, boolean estado,
CheckboxGroup grupo)
Checkbox ( String texto, CheckboxGroup grupo, boolean estado)

01/08/12

vladimir.professor@gmail.com

63

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
CheckBox (java.awt.CheckBox)
Principais Mtodos
void addItemListener ( ItemListener l ): Adiciona um ouvinte de itens
caixa.
String getLabel ( ): Retorna o texto da caixa (Rotulo deste componente).
boolean getState ( ): Retorna o estado (se est selecionada ou no).

01/08/12

vladimir.professor@gmail.com

64

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
CheckBox (java.awt.CheckBox)
void setCheckboxGroup ( CheckboxGroup grupo ): Define um grupo de
seleo (RadioBox).
void setLabel ( String texto ): Define o texto da caixa.
void setState ( boolean estado ): Define o estado da caixa.

01/08/12

vladimir.professor@gmail.com

65

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
CheckBox (java.awt.CheckBox) - Exemplo
import java.awt.*;
import java.awt.event.*;
public class ExCheckbox extends Frame implements ItemListener {
Checkbox cb1, cb2, cb3, cb4, cb5, cb6;
CheckboxGroup cbg;
public ExCheckbox() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){System.exit(0);}});
setSize(300, 200);
setLayout(new GridLayout(2,3));
cb1 = new Checkbox();
cb1.setLabel("Checkbox 1");
cb1.addItemListener(this);
add(cb1);
cb2 = new Checkbox("Checkbox 2");
cb2.addItemListener(this);
add(cb2);
cb3 = new Checkbox("Checkbox 3");
cb3.setState(true);
cb3.addItemListener(this);
add(cb3);
01/08/12

vladimir.professor@gmail.com

66

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
CheckBox (java.awt.CheckBox) - Exemplo
cbg = new CheckboxGroup();
cb4 = new Checkbox("Checkbox 4", cbg, false);
cb4.addItemListener(this);
add(cb4);
cb5 = new Checkbox("Checkbox 5", cbg, false);
cb5.addItemListener(this);
add(cb5);
cb6 = new Checkbox("Checkbox 6", cbg, false);
cb6.addItemListener(this);
add(cb6);
}
public void itemStateChanged(ItemEvent e) {
Checkbox quemFoi = (Checkbox) e.getItemSelectable();
if (quemFoi.getState())
System.out.println(quemFoi.getLabel() + " selecionado");
else
System.out.println(quemFoi.getLabel() + " deselecionado");
}
public static void main (String args[]) {
ExCheckbox exCheckbox = new ExCheckbox();
exCheckbox.setVisible(true);
}
}

01/08/12

vladimir.professor@gmail.com

67

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
CheckBox (java.awt.CheckBox) - Resultado

01/08/12

vladimir.professor@gmail.com

68

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
CheckBoxGroup (java.awt.CheckBoxGroup)
Construtores
CheckboxGroup ( )

Principais Mtodos
Checkbox getSelectedCheckbox ( )
Retorna o Checkbox que est selecionado.
void setSelectedCheckbox ( Checkbox item )
Seleciona um Checkbox.

01/08/12

vladimir.professor@gmail.com

69

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
Choice (java.awt.Choice)
Construtores
Choice ( )

Principais Mtodos
void add ( String item ): Adiciona um item ao menu de opes.
void addItemListener ( ItemListener l): Adiciona um ouvinte de itens.
String getItem ( int indice ): Retorna o rtulo do item especificado.
int getItemCount ( ): Retorna a quantidade de itens.

01/08/12

vladimir.professor@gmail.com

70

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
Choice (java.awt.Choice)
Principais Mtodos
int getSelectedIndex ( ): Retorna o ndice do item selecionado na caixa.
String getSelectedItem ( ): Retorna o rtulo do item selecionado na caixa.
void insert ( String item, int indice ): Insere um item no menu da caixa.
void remove ( int posio ): Remove um item do menu.

01/08/12

vladimir.professor@gmail.com

71

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Choice (java.awt.Choice)
void remove ( String item ): Remove um item do menu.
void removeAll ( ): Remove todos os itens do menu.
void select ( int posio ):
void select ( String item ): Seleciona um item do menu.

01/08/12

vladimir.professor@gmail.com

72

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Choice (java.awt.Choice) - Exemplo
import java.awt.*;
import java.awt.event.*;
public class ExChoice extends Frame implements ItemListener {
Choice choice;
Label l1, l2;
public ExChoice() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){System.exit(0);}});
setSize(300, 200);
setLayout(new FlowLayout());
choice = new Choice();
choice.addItem("um");
choice.addItem("dois");
choice.addItem("trs");
choice.addItem("quatro");
choice.addItemListener(this);
add(choice);
l1 = new Label(" ");
add(l1);
l2 = new Label("
");
add(l2);
}
01/08/12

vladimir.professor@gmail.com

73

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Choice (java.awt.Choice) - Exemplo
public void itemStateChanged(ItemEvent e) {
int indice = choice.getSelectedIndex();
String texto = choice.getSelectedItem();
l1.setText(String.valueOf(indice));
l2.setText(texto);
}
public static void main (String args[]) {
ExChoice exChoice = new ExChoice();
exChoice.setVisible(true);
}
}

01/08/12

vladimir.professor@gmail.com

74

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Choice (java.awt.Choice) - Resultado

01/08/12

vladimir.professor@gmail.com

75

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
List (java.awt.List)
Construtores
List ( )
List ( int linhas )
List ( int linhas, boolean seleoMultipla )

01/08/12

vladimir.professor@gmail.com

76

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
List (java.awt.List)
Principais Mtodos
void add ( String item )
void add ( String item, int indice ): Adiciona um item lista.
void addActionListener ( ActionListener l): Adiciona um ouvinte de ao lista.
void deselect ( int indice ): Retira a seleo de um item.
String getItem ( int indice): Retorna o rtulo de um item.

01/08/12

vladimir.professor@gmail.com

77

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
List (java.awt.List)
Principais Mtodos (cont.)
int getItemCount ( ): Retorna a quantidade de itens na lista.
String [ ] getItems ( ): Retorna os itens da lista como um array de strings.
int getRows ( ): Retorna a quantidade de linhas visveis na lista.

01/08/12

vladimir.professor@gmail.com

78

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
List (java.awt.List)
int getSelectedIndex ( )
int [ ] getSelectedIndexes ( ): Retorna o(s) ndice(s) do(s) iten(s) selecionados.
String getSelectedItem ()
String [ ] getSelectedItems (): Retorna o(s) rtulo(s) do(s) iten(s) selecionados.

01/08/12

vladimir.professor@gmail.com

79

Linguagem de Programao Orientada a Objetos (LPOO)

Pacote java.awt
List (java.awt.List)
boolean isIndexSelected ( int indice): Retorna se um item est selecionado ou no.
boolean isMultipleMode ( ): Retorna se a lista de seleo mltipla ou no.
void remove ( int posio )
void remove ( String item ): Remove um item da lista.
void removeAll ( ): Remove todos os itens da lista.

01/08/12

vladimir.professor@gmail.com

80

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
List (java.awt.List)
void replaceItem ( String novoItem, int indice ): Troca um item da lista.
void select ( int indice ): Seleciona um item da lista.
void setMultipleMode ( boolean b ): Define se a lista de seleo mltipla ou
no.

01/08/12

vladimir.professor@gmail.com

81

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
List (java.awt.List) - Exemplo
import java.awt.*;
import java.awt.event.*;
public class ExList extends Frame implements ActionListener {
List l1, l2;
Button b1, b2;
public ExList() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
setSize(400, 200);
setLayout(new FlowLayout());
Panel p = new Panel();
l1 = new List(5,true);
l1.add("Astra");
l1.add("D20");
l1.add("Kadett");
01/08/12

vladimir.professor@gmail.com

82

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
List (java.awt.List) - Exemplo
l1.add("Corsa");
l1.add("Omega");
l1.add("Vectra");
p.add(l1);
b1 = new Button("mover");
b1.addActionListener(this);
p.add(b1);
l2 = new List(5,false);
p.add(l2);
b2 = new Button("Encerrar");
b2.addActionListener(this);
p.add(b2);
add(p);
}

01/08/12

vladimir.professor@gmail.com

83

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
List (java.awt.List) - Exemplo
public void actionPerformed(ActionEvent e) {
String quemFoi = e.getActionCommand();
if (quemFoi.equals("mover")) {
String[] selecionados = l1.getSelectedItems();
for (int i = 0; i < selecionados.length; i++)
l2.add(selecionados[i]);
}
if (quemFoi.equals("Encerrar"))
System.exit(0);
}
public static void main(String[] args) {
ExList exList = new ExList();
exList.setVisible(true);
}
}

01/08/12

vladimir.professor@gmail.com

84

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
List (java.awt.List) - Resultado

01/08/12

vladimir.professor@gmail.com

85

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Menu (java.awt.Menu)
A funcionalidade dos menus est distribuda em diversas classes
distintas, todas elas subclasses de MenuComponent. So elas:
MenuItem
CheckboxMenuItem
Menu
MenuBar

01/08/12

vladimir.professor@gmail.com

86

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Menu (java.awt.Menu)
MenuItem: cada item em um menu representado por um objeto desta
classe
CheckboxMenuItem: cada item de menu que contm um checkbox
representado por um objeto desta classe, que subclasse de MenuItem
Menu: cada menu representado por um objeto desta classe
MenuBar: barra de menus, que permite representar um grupo de
menus ligados a Frame

01/08/12

vladimir.professor@gmail.com

87

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Menu (java.awt.Menu)
Quando um objeto da classe MenuItem clicado um evento da classe
ActionEvent gerado
Portanto, o Menu deve ser escutado por um ActionListener
possvel estabelecer-se atalhos para cada um dos MenuItem atravs
da passagem de um objeto da classe MenuShortcut para a construtora
do MenuItem

01/08/12

vladimir.professor@gmail.com

88

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Menu (java.awt.Menu) - Exemplo
import java.awt.*;
import java.awt.event.*;
public class ExMenu extends Frame implements ActionListener, ItemListener {
TextArea ta;
String novaLinha;
MenuBar menuBar;
Menu menu1, menu2, menu3, menu4, menu41;
MenuItem menuItem11, menuItem12, menuItem21, menuItem22, menuItem23,
menuItem33, menuItem411, menuItem42;
CheckboxMenuItem menuItem31, menuItem32;
public ExMenu() {
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e){System.exit(0);}});
setSize(400, 350);
setLayout(new BorderLayout());
novaLinha = System.getProperty("line.separator");
ta = new TextArea(5, 30);
ta.setEditable(false);
add(ta, "Center");
01/08/12

vladimir.professor@gmail.com

89

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Menu (java.awt.Menu) - Exemplo
menuBar = new MenuBar();
setMenuBar(menuBar);
menu1 = new Menu("Menu 1");
menuBar.add(menu1);
menuItem11 = new MenuItem("Item 11", new MenuShortcut(KeyEvent.VK_A));
menu1.add(menuItem11);
menuItem12 = new MenuItem("Item 12", new MenuShortcut(KeyEvent.VK_B));
menu1.add(menuItem12);
menu1.addActionListener(this);
menu2 = new Menu("Menu 2");
menuBar.add(menu2);
menuItem21 = new MenuItem("Item 21", new MenuShortcut(KeyEvent.VK_C));
menu2.add(menuItem21);
menuItem22 = new MenuItem("Item 22", new MenuShortcut(KeyEvent.VK_D));
menu2.add(menuItem22);
menuItem23 = new MenuItem("Item 23", new MenuShortcut(KeyEvent.VK_E));
menu2.add(menuItem23);
menu2.addActionListener(this);

01/08/12

vladimir.professor@gmail.com

90

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Menu (java.awt.Menu) - Exemplo
menu3 = new Menu("Menu 3");
menuBar.add(menu3);
menuItem31 = new CheckboxMenuItem("Item 31");
menu3.add(menuItem31);
menuItem32 = new CheckboxMenuItem("Item 32");
menu3.add(menuItem32);
menuItem33 = new MenuItem("Item 33", new MenuShortcut(KeyEvent.VK_F));
menu3.add(menuItem33);
menuItem31.addItemListener(this);
menuItem32.addItemListener(this);
menu3.addActionListener(this);
menu4 = new Menu("Menu 4");
menuBar.add(menu4);
menu41 = new Menu("SubMenu 41");
menu4.add(menu41);
menuItem411 = new MenuItem("Item 411", new MenuShortcut(KeyEvent.VK_G));
menu41.add(menuItem411);
menuItem42 = new MenuItem("Item 42", new MenuShortcut(KeyEvent.VK_H));
menu4.add(menuItem42);
menu4.addActionListener(this);
menu41.addActionListener(this);
}
01/08/12

vladimir.professor@gmail.com

91

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Menu (java.awt.Menu) - Exemplo
public void actionPerformed(ActionEvent e) {
String quemFoi = e.getActionCommand();
ta.append(quemFoi + novaLinha);
}
public void itemStateChanged(ItemEvent e) {
CheckboxMenuItem quemFoi = (CheckboxMenuItem) e.getItemSelectable();
if (quemFoi.getState())
ta.append(quemFoi.getLabel() + " selecionado" + novaLinha);
else
ta.append(quemFoi.getLabel() + " deselecionado" + novaLinha);
}
public static void main(String[] args) {
ExMenu exMenu = new ExMenu();
exMenu.setVisible(true);
}
}

01/08/12

vladimir.professor@gmail.com

92

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Menu (java.awt.Menu) - Resultado

01/08/12

vladimir.professor@gmail.com

93

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Menu (java.awt.Menu) - Exemplo
import java.awt.*;
import java.awt.event.*;
import javax.swing.JOptionPane;
public class Aula2 extends Frame implements ActionListener {
MenuBar mb = new MenuBar();
Menu m1 = new Menu("File");
Menu m2 = new Menu("Edit");
Menu m3 = new Menu("Help");
MenuItem mi11 = new MenuItem("Save");
MenuItem mi12 = new MenuItem("Open");
MenuItem mi13 = new MenuItem("Exit");
public Aula2() {
setLayout(new FlowLayout());
m1.add(mi11);
m1.add(mi12);
m1.addSeparator();
m1.add(mi13);
mb.add(m1);
mb.add(m2);
mb.add(m3);

01/08/12

vladimir.professor@gmail.com

94

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Menu mi13.addActionListener(
(java.awt.Menu) - Exemplo
new ActionListener() {public void actionPerformed(ActionEvent e)
{
Aula2.this.windowClosed();
}});
mi11.addActionListener(this);
mi12.addActionListener(this);
mi13.addActionListener(this);
setMenuBar(mb);
setSize(300,300);
show();
}
public void actionPerformed(ActionEvent e){
if (e.getSource().equals(mi11)){
JOptionPane.showMessageDialog(null,"Deseja Salvar uma
Mensagem?");
}
else if (e.getSource().equals(mi13)){
mi13.addActionListener(
new ActionListener() {public void actionPerformed(ActionEvent e) {
Aula2.this.windowClosed();
}});
}
01/08/12

vladimir.professor@gmail.com

95

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Menu (java.awt.Menu) - Exemplo
else if (e.getSource().equals(mi12)){
Exercicio001 nv = new Exercicio001();
nv.Iniciar();
}
}
protected void windowClosed() { System.exit(0); }
public static void main(String[] args) { new Aula2(); }
}

01/08/12

vladimir.professor@gmail.com

96

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote java.awt
Exemplo de uma interface grfica utilizando componentes do pacote AWT

01/08/12

vladimir.professor@gmail.com

97

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Cdigo fonte de exemplo

01/08/12

vladimir.professor@gmail.com

98

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Cdigo fonte de exemplo

01/08/12

vladimir.professor@gmail.com

99

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Cdigo fonte de exemplo

01/08/12

vladimir.professor@gmail.com

100

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Cdigo fonte de exemplo

01/08/12

vladimir.professor@gmail.com

101

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Cdigo fonte de exemplo

01/08/12

vladimir.professor@gmail.com

102

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Cdigo fonte de exemplo

01/08/12

vladimir.professor@gmail.com

103

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Cdigo fonte de exemplo

01/08/12

vladimir.professor@gmail.com

104

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Cdigo fonte de exemplo

01/08/12

vladimir.professor@gmail.com

105

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Trabalho para fixao do contedo


Monte o formulrio apresentado no prximo slide (107) utilizando os
componentes grficos do pacote AWT apresentados at o momento.

01/08/12

vladimir.professor@gmail.com

106

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados
X

Nome:

Nmero:

Endereo:

Cep:

Bairro:

UF:

Idade:

Naturalidade:

Sexo:

Feminino

Masculino

E-mail:
Fone:

Celular:

Informe os sistemas que utiliza


Windows

Cadastrar
01/08/12

Linux

Limpar
vladimir.professor@gmail.com

Unix

Fechar
107

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

01/08/12

vladimir.professor@gmail.com

108

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

01/08/12

vladimir.professor@gmail.com

109

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

So Paulo, 2011

Universidade Paulista (UNIP)

Tratamento de eventos

Prof. MSc. Vladimir Camelo


vladimir.professor@gmail.com

01/08/12

vladimir.professor@gmail.com

110

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Introduo
Alm dos mdulos de interface com o usurio e regras d negcios, a
grande maioria dos programas de suporte a sistemas de informaes
gerenciais ainda contm um mdulo de persistncia (tambm chamado
de armazenamento/recuperao de dados).
Estes trs mdulos so normalmente organizados em forma de
camadas, conforme o esquema abaixo:
Interface com o usurio

Regras de negcio
Persistncia
01/08/12

vladimir.professor@gmail.com

111

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Introduo
Em um esquema de camadas a interface apenas com as regras de
negcio, e as regras de negcio interagem com a interface e com a
camada de persistncia.

01/08/12

vladimir.professor@gmail.com

112

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Utilizao de eventos
De modo diferente de um programa com interface baseada em texto (do
tipo que usa comandos System.out.println e IO.readStr()), programas
com interface grfica oferecem uma vasta quantidade de alternativasde
entrada de dados ao usurio.
O usurio pode adotar um dentre vrios caminhos possveis e o
programador no consegue controlar o fluxo da mesma forma que o
programa com interface textual.
A soluo usualmente adotada em programas modernos construir a
interao por meio de tratamento de eventos.

01/08/12

vladimir.professor@gmail.com

113

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Componentes de um programa baseado em eventos

01/08/12

vladimir.professor@gmail.com

114

Linguagem de Programao Orientada a Objetos (LPOO)


O programa o
arquivo que contm as
instrues (algoritmos)
que quando executadas
criam a aplicao

Um programa
(.class)

No
dispositivo
de
armazenamento

Evento

Execuo
Aplicao
(programa em execuo
na memria)

cria

Tratador
de eventos

interface

Na
memria
(em execuo)

evento

01/08/12

vladimir.professor@gmail.com

115

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Arquitetura de um programa com interface grfica

01/08/12

vladimir.professor@gmail.com

116

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Componentes visuais e eventos que produzem

01/08/12

vladimir.professor@gmail.com

117

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Eventos e seus observadores (listeners)

01/08/12

vladimir.professor@gmail.com

118

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Observadores e seus mtodos de notificao

01/08/12

vladimir.professor@gmail.com

119

Linguagem de Programao Orientada a Objetos (LPOO)

Principais tipos de eventos

Labels
Panel
TextFields
Frame
Button

Labels no utilizam muitos eventos.


Um dos nicos eventos que faz sentido
deles gerar o evento que avisa que o
mouse est passando por cima deles.

Em Java, cada componente de interface


tem seu conjunto especfico de eventos.

01/08/12

vladimir.professor@gmail.com

120

Linguagem de Programao Orientada a Objetos (LPOO)

Principais tipos de eventos

Labels
Panel
TextFields
Frame
Button
Em Java, cada componente de interface
tem seu conjunto especfico de eventos.

01/08/12

Com Panels outros eventos mais


interessantes podem ser capturados:
Movimento do mouse;
Ao de mouse;
Teclado;
Re-pintura/atualizao;

vladimir.professor@gmail.com

121

Linguagem de Programao Orientada a Objetos (LPOO)

Principais tipos de eventos

Labels
Panel
TextFields
Frame
Button
Em Java, cada componente de interface
tem seu conjunto especfico de eventos.

Como os TextFields so caixas de texto


que coletam informaes do usurio,
faz sentido capturar deles os eventos
de:
Teclado;
Alterao de seu contedo;
(ou at mesmo os eventos de movimento ou
ao do mouse, em alguns casos)

01/08/12

vladimir.professor@gmail.com

122

Linguagem de Programao Orientada a Objetos (LPOO)

Principais tipos de eventos


Labels
Panel
TextFields
Frame
Button
Em Java, cada componente de interface
tem seu conjunto especfico de eventos.

Os Frames so parecidos com os


Painis. Na verdade eles so painis
com bordas! Logo, alm dos eventos de
um painel, eles tambm geram eventos
de janelas:
Movimento do mouse;
Ao de mouse;
Teclado;
Re-pintura/atualizao;
Manipulao de janela;

01/08/12

vladimir.professor@gmail.com

123

Linguagem de Programao Orientada a Objetos (LPOO)

Principais tipos de eventos

Labels
Panel
TextFields
Frame
Button
Em Java, cada componente de interface
tem seu conjunto especfico de eventos.

01/08/12

J os Buttons (botes), geram eventos


de ao (pressionado, solto...) e de
mouse (clicado, passando por cima...)

vladimir.professor@gmail.com

124

Linguagem de Programao Orientada a Objetos (LPOO)

Principais tipos de eventos

Labels
Panel
TextFields
Frame
Button

Logo, existem diferentes


classes de eventos e tratadores
de eventos, que devem ser
utilizadas de acordo com os
componentes e as necessidades
que o programador possui.

Em Java, cada componente de interface


tem seu conjunto especfico de eventos.

01/08/12

vladimir.professor@gmail.com

125

Linguagem de Programao Orientada a Objetos (LPOO)

Principais tipos de eventos

Eventos de janela (WindowEvents)


Gerados quando uma janela aberta, fechada, maximizada ou
minimizada, entre outros.

Eventos de aes ocorridas em componentes (ActionEvents)


Gerados quando um componente sofre uma ao gerada pelo usurio
(seleo de um elemento ou clique do mouse em um boto, por
exemplo).

Eventos gerados pelo mouse (MouseEvents)


Pelo movimento do mouse;
Por uma ao do mouse (boto clicado, pressionado ou solto);

Eventos gerados pelo teclado (KeyEvents).

01/08/12

vladimir.professor@gmail.com

126

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Aplicao
(programa em execuo
na memria)

possui

interage

usurio

tratador de eventos

interface
Interao
gera eventos

evento

passado para

01/08/12

vladimir.professor@gmail.com

127

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Aplicao
(programa em execuo
na memria)
tratador de
eventos de janela

possui

usurio
WindowEvent

WindowListener

tratador de eventos de
movimentos do mouse

interage

interface
Interao
gera eventos

MouseEvent

MouseMotionListener

tratador de eventos de
aes do mouse

MouseEvent

MouseListener

tratador de eventos de
aes em componentes

Porm, dependendo do tipo de


evento, o tratador de eventos
correspondente escolhido

evento

ActionEvent

ActionListener

tratador de
eventos de teclado

KeyEvent

KeyListener

01/08/12

vladimir.professor@gmail.com

128

Linguagem de Programao Orientada a Objetos (LPOO)

Tipos de tratadores de eventos


Ser apresentado 5 ouvintes e seus respectivos tratadores de eventos
disponibilizados pelo Java:
WindowListener - eventos de janelas
MouseListener - eventos de mouse (clique)
MouseMotionListener - eventos de movimento de mouse
ActionListener - eventos de ao (geralmente gerados por botes)
KeyListener - eventos gerados pelo teclado
Para cada um desses tipos o Java oferece uma Classe ou Interface que
pode ser utilizada em programas.
Cada um deles possui uma srie diferente de mtodos, que tratam eventos
especficos.

01/08/12

vladimir.professor@gmail.com

129

Linguagem de Programao Orientada a Objetos (LPOO)

Tratadores de eventos
Os eventos no so tratados automaticamente.
Para cada componente de interface criado (janela, boto, painel, caixa
de texto...), decida quais so os eventos que devem ser tratados (cada
componente pode gerar um ou mais tipos de eventos);
Aps, defina uma classe adicional no programa que seja capaz de tratar
cada um desses eventos. Essa classe, tratadora de eventos, deve ser
uma classe filha de uma das classes tratadoras de eventos vistas
anteriormente (WindowListener, MouseListener, MouseMotionListener,
ActionListener ou KeyListener);
Finalmente, crie objetos que sejam do tipo da classe tratadora de
eventos que voc definiu e depois diga para cada componente, qual o
objeto que trata seus eventos.

01/08/12

vladimir.professor@gmail.com

130

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Tipos de tratadores de eventos


Para capturar e tratar os eventos devem ser criados objetos de
manipulao de eventos. Para cada tipo de evento existe uma classe
Java especfica para trat-lo.
Para os eventos, as classes-pai que podem ser utilizadas so:
Eventos de janela (WindowEvent): WindowListener
Eventos de Ao (ActionEvent): ActionListener
Eventos de mouse (MouseEvent):

MouseMotionListener para movimentos do mouse

MouseListener para demais aes do mouse

Eventos de teclado (KeyEvent):

01/08/12

KeyListener

vladimir.professor@gmail.com

131

Linguagem de Programao Orientada a Objetos (LPOO)

Exemplo
Cada evento gerado chama um mtodo diferente para trat-lo.
Todos os eventos para fechar uma janela, chamam o mesmo mtodo:
windowClosing().
Cada uma das classes-pai (tratadoras de eventos) possui seu conjunto
de mtodos especficos.
WindowListener ou WindowAdapter
MouseListener ou MouseAdapter
MouseMotionListener ou MouseMotionAdapter
ActionListener
Obs: A diferena entre um Listener e um Adapter que o primeiro uma interface,
e deve ser implementada para todos os seus mtodos. J o segundo uma classepai pronta, e pode ser redefinida somente os mtodos para os eventos que
interessam
01/08/12

vladimir.professor@gmail.com

132

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Mtodos de adio de tratadores de eventos


Para cada componente, deve ser criado e adicionado o tratador de
eventos correspondente. Cada tipo de adaptador possui o seu mtodo:
addWindowListener(tratador_de_eventos) adiciona um tratador de
eventos de janela;
addActionListener(tratador_de_eventos) adiciona um tratador de
eventos gerados por aes em componentes (geralmente utilizado
em botes);
addMouseListener(tratador_de_eventos) adiciona um tratador de
eventos gerados pelo movimento do mouse;
addMouseMotionListener(tratador_de_eventos) adiciona um
tratador de eventos gerados por aes do mouse;
addKeyListener(tratador_de_eventos) adiciona um tratador de
eventos gerados pelo teclado;
01/08/12

vladimir.professor@gmail.com

133

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados
public class Aplicao{
public static void main(String argumentos[]){
Janela

jan

= new Janela();

TratEventosJan trat = new TratEventosJan();


jan.addWindowListener(TratEventos());
jan.show();

A primeira classe a que


define a aplicao

}
}

class Janela extends Frame{


public Janela(){
setBackground(Color.blue);
add(Center, new Label(Janela da aplicao));

A segunda classe a que


define a interface (o tipo
de janela) da aplicao

}
}

class TratEventosJan extends WindowAdapter{


public void windowClosing(WindowEvent evento){
System.exit(0);
}

A ltima classe a que


define o tratador de
eventos de janela da
aplicao

01/08/12

vladimir.professor@gmail.com

134

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

public class Aplicao{


public static void main(String argumentos[]){
Janela

jan

= new Janela();

A primeira classe responsvel


por criar a janela da aplicao.

TratEventosJan trat = new TratEventosJan();


jan.addWindowListener(trat);
jan.show();
}
}

class Janela extends Frame{


public Janela(){
setBackground(Color.blue);
add(Center, new Label(Janela da aplicao));
}
}

A janela criada
de acordo com a
classe de janela
definida!

class TratEventosJan extends WindowAdapter{


public void windowClosing(WindowEvent evento){
System.exit(0);
}
}

01/08/12

vladimir.professor@gmail.com

135

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

public class Aplicao{


public static void main(String argumentos[]){
Janela

jan

= new Janela();

Em seguida, criado o objeto


tratador de eventos.

TratEventosJan trat = new TratEventosJan();


jan.addWindowListener(trat);
jan.show();
}
}

class Janela extends Frame{


public Janela(){
setBackground(Color.blue);
add(Center, new Label(Janela da aplicao));
}

trat
(tratador de eventos)

class TratEventosJan extends WindowAdapter{


public void windowClosing(WindowEvent evento){
System.exit(0);
}

Ele criado de acordo


com a classe definida
para tratar eventos!

01/08/12

vladimir.professor@gmail.com

136

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

public class Aplicao{


public static void main(String argumentos[]){
Janela

jan

Finalmente, o tratador de
eventos adicionado janela:

= new Janela();

TratEventosJan trat = new TratEventosJan();


jan.addWindowListener(trat);
jan.show();
}
}
class Janela extends Frame{
public Janela(){
setBackground(Color.blue);
add(Center, new Label(Janela da
aplicao));

trat
(tratador de eventos)

}
}

class TratEventosJan extends WindowAdapter{


public void windowClosing(WindowEvent evento){
System.exit(0);
}
}

01/08/12

Assim, todo evento de janela


gerado nesta janela
capturado
e tratado pelo objeto tratador
de eventos.

vladimir.professor@gmail.com

137

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Eventos gerados pelo mouse


Os eventos gerados por alguma ao do mouse, so tratados pela classe
MouseListener ou MouseAdapter e suas classes-filhas:
mouseClicked(MouseEvent ev) quando um boto do mouse
clicado;
mouseEntered(MouseEvent ev) quando o mouse entra em um
componente (passa por cima);
mouseExited(MouseEvent ev) quando o mouse sai de um
componente;
mousePressed(MouseEvent ev) quando um boto do mouse
pressionado;
mouseReleased(MouseEvent ev) quando um boto do mouse
solto.
01/08/12

vladimir.professor@gmail.com

138

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Eventos gerados pelo mouse


mouseMoved(MouseEvent ev) quando o mouse movido dentro
de um componente ou janela;
mouseDraged(MouseEvent ev) quando o mouse movido com um
boto pressionado dentro de um componente ou janela (para
implementar o recurso arrastar-e-soltar);

01/08/12

vladimir.professor@gmail.com

139

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de eventos
import java.awt.*;
import java.awt.event.*;
class Exemp01 extends Frame implements WindowListener
{
Exemp01()
{ addWindowListener(this);
setSize(300,300);
setVisible(true);
}
public void windowActivated(WindowEvent e) {
}
public void windowClosed(WindowEvent e) {
}
public void windowClosing(WindowEvent e) {
System.exit(0);
}
public void windowDeactivated(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowOpened(WindowEvent e) {
}
static public void main(String agr[]) {
new Exemp01();
}
}
01/08/12

vladimir.professor@gmail.com

140

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de eventos
import java.awt.*;
import java.awt.event.*;
class Exemp02 extends Frame implements ActionListener{
List lst = new List(4,false);
public Exemp02() {
setLayout(new FlowLayout());
lst.add("a"); lst.add("b");
lst.add("c"); lst.add("d");
lst.add("e"); lst.add("f");
lst.addActionListener(this);
add(lst);
setSize(300,300);
show();
}
public void actionPerformed(ActionEvent e)
{ if (e.getSource().equals(lst))
System.out.println(lst.getSelectedItem());
}
public static void main (String arg []) {
new Exemp02();
}
}
01/08/12

vladimir.professor@gmail.com

141

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de eventos
import java.awt.*;
import java.awt.event.*;
class Exemp03 extends Frame implements ItemListener{
CheckboxGroup cgb = new CheckboxGroup();
Checkbox one = new Checkbox("one",cgb,false);
Checkbox two = new Checkbox("two",cgb,false);
Checkbox three = new Checkbox("three",cgb,true);
public Exemp03() {
setLayout(new FlowLayout());
add(one); add(two); add(three);
one.addItemListener(this); two.addItemListener(this); three.addItemListener(this);
setSize(300,300); show();
}
public void itemStateChanged(ItemEvent e) {
if (e.getSource().equals(one)) {
System.out.println("Cliquei no botao one. E o estado do botao one e: " + one.getState() );
} else if (e.getSource().equals(two)) {
System.out.println("Cliquei no botao two. E o estado do botao two e: " + two.getState() );
} else if (e.getSource().equals(three)) {
System.out.println("Cliquei no botao three. E o estado do botao three e: " + three.getState() );
}
}
public static void main (String arg []) { new Exemp03(); }
}
01/08/12

vladimir.professor@gmail.com

142

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de eventos
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

Ao de um
Boto 1

public class AcaoBtn1 extends JFrame {


JButton btn;
public AcaoBtn1 ( ) {
btn = new JButton ("Boto de Comando" );
btn.addActionListener ( new ActionListener(
ActionListener ) {
public void actionPerformed ( ActionEvent evt ) {
btn.setBackground ( Color.red );
}
} );
add ( btn, "North" );
setVisible( true );
}
public static void main (String args[ ]) {
new AcaoBtn1( );
}
}
01/08/12

vladimir.professor@gmail.com

143

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de eventos
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

Ao de um
Boto 2

public class AcaoBtn2 extends JFrame implements ActionListener


{
JButton btn;
public AcaoBtn2 ( ) {
btn = new JButton ("Boto de Comando" );
btn.addActionListener ( this ) ;
add( btn, "North" );
setVisible ( true );
}
public void actionPerformed ( ActionEvent evt ) {
Object source = evt.getSource(
evt.getSource );
if ( source == btn )
btn.setBackground(Color.red);
}
public static void main (String args[ ]) {
new AcaoBtn2( );
} }
01/08/12

vladimir.professor@gmail.com

144

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de eventos
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
Fechamento
public class FechaFrame extends JFrame {
public FechaFrame ( ) {
de Janela
setTitle ( "Oi Tudo Bem" );
setSize (300, 200);
setDefaultCloseOperation(JFrame.
DO_NOTHING_ON_CLOSE);
setDefaultCloseOperation
DO_NOTHING_ON_CLOSE
addWindowListener ( new WindowAdapter ( ) {
public void windowClosing ( WindowEvent e ) {
int resp = JOptionPane.showConfirmDialog(null,
"Deseja sair ?");
if ( resp == JOptionPane.YES_OPTION )
System.exit ( 0 );
}
} );
setVisible ( true );
}
public static void main ( String args [ ] ) {
new FechaFrame( );
} }
01/08/12

vladimir.professor@gmail.com

145

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de eventos
import java.awt.event.*;
import javax.swing.*;
public class EventosJanela extends JFrame {
public EventosJanela() {
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowListener() {
public void windowClosing (WindowEvent e) {
int resp = JOptionPane.showConfirmDialog(null,"Deseja sair ?");
if (resp == JOptionPane.YES_OPTION)
System.exit(0);
}
public void windowOpened (WindowEvent arg0) {
System.out.println("Janela Aberta!");
}
public void windowClosed (WindowEvent arg0) {
System.out.println("Janela Fechada!");
}
01/08/12

vladimir.professor@gmail.com

146

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de eventos
public void windowIconified (WindowEvent arg0) {
System.out.println("Janela Minimizada!");
}
public void windowDeiconified (WindowEvent arg0) {
System.out.println("Janela Restaurada!");
}
public void windowActivated (WindowEvent arg0) {
System.out.println("Janela Ativada!");
}
public void windowDeactivated (WindowEvent arg0) {
System.out.println("Janela Desativada!");
}
});
setVisible(true);
}
public static void main(String args[]) {
new EventosJanela();
}
}
01/08/12

vladimir.professor@gmail.com

147

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Eventos de mouse
Interface MouseListener
Mtodos
mousePressed
mouseReleased
mouseEntered
mouseExited
mouseClicked
Classe adaptadora: MouseAdapter

01/08/12

vladimir.professor@gmail.com

148

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Eventos de mouse
Interface MouseMotionListener
Mtodos
mouseDragged
mouseMoved
Classe adaptadora: MouseMotionAdapter

01/08/12

vladimir.professor@gmail.com

149

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de eventos (Mouse)


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

Eventos de Mouse
no Boto

public class Botao extends JFrame {


JButton btn;
public Botao ( ) {
btn = new JButton ("Passe o mouse aqui !");
btn.addMouseListener ( new MouseAdapter ( ) {
public void mouseEntered ( MouseEvent evt ) {
btn.setBackground ( Color.yellow );
}
public void mouseExited ( MouseEvent evt ) {
btn.setBackground ( Color.red );
}
} );
add ( btn, "South" );
setVisible ( true );
}
public static void main ( Stirng args [ ] ) {
new Botao ( );
}
}
01/08/12

vladimir.professor@gmail.com

150

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exerccio
Construa uma aplicao em Java que utilize no mnimo trs dos
eventos apresentados.
Construa uma aplicao que utilize parte dos componentes
apresentados neste slide.

01/08/12

vladimir.professor@gmail.com

151

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

So Paulo, 2012

Universidade Paulista (UNIP)

Interface grfica (Swing) em Java

Prof. Msc. Vladimir Camelo


vladimir.professor@gmail.com

01/08/12

vladimir.professor@gmail.com

152

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

O que o Swing?
Swing o nome dado ao pacote de classes desenvolvidas pelo "Projeto
Swing" parte de um contexto maior chamado de Java Foundation
Classes - JFC.
O Swing consiste de um conjunto de componentes grficos (extenses
dos componentes AWT e novos componentes)
Conceito look and feel (L&F) - capacidade de um componente assumir
aparncias diferentes sem alteraes no cdigo.
possvel criar uma aplicao Java que se adapte aparncia grfica
do SO assumindo um aspecto semelhante as demais janelas
Windows, Linux, Solaris, Macintosh, etc.

01/08/12

vladimir.professor@gmail.com

153

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

O que o Swing?
Os componentes Swing so 100% escritos em Java.
No Swing o objetivo codificar apenas a funcionalidade do componente
e a sua relao com o modelo de dados ao qual est associado
A aparncia fica a encargo do gerenciador de interface do usurio (GUI
Manager)
Este recurso foi incorporado s mquinas virtuais a partir da verso 1.3
do ambiente de desenvolvimento Java (jdk1.3.1).

01/08/12

vladimir.professor@gmail.com

154

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote javax.swing
Object

Component

AWT

Container
Window
JWindow

Componentes
Swing

Frame

Applet

JFrame

JApplet
JComponent

JPanel
01/08/12

Panel

JButton

vladimir.professor@gmail.com

JLabel
155

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote javax.swing

01/08/12

vladimir.professor@gmail.com

156

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote javax.swing
JFrame

JOptionPane

JPanel

JFileChooser

JEditorPane

JColorChooser

JTabbedPane

01/08/12

vladimir.professor@gmail.com

157

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote javax.swing
Construtores
JFrame ( )
JFrame ( String titulo )
Principais Mtodos
Container getContentPane ( ): Retorna a referncia do painel de
contedo.
void setDefaultCloseOperation ( int operao ): Define qual
operao ser realizada ao fechar a frame.

01/08/12

vladimir.professor@gmail.com

158

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote javax.swing
void setJMenuBar ( JMenuBar menu): Define o menu da frame.
void setLayout ( LayoutManager gerenciador): Define o
gerenciador de layout da frame.
Para adicionar um componente:
frame.getContentPane.add ( componente, pos )

01/08/12

vladimir.professor@gmail.com

159

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote javax.swing
void setDefaultCloseOperation ( int operao ): Define a operao
que deve ser executada quando o usurio fecha a frame.
O valor de operao pode ser um dos seguintes:
DO_NOTHING_ON_CLOSE (definido em WindowConstants): No
faz nada; o programa deve controlar o fechamento atravs do
mtodo windowClosing.
HIDE_ON_CLOSE (definido em WindowConstants): Automaticamente esconde a frame.

01/08/12

vladimir.professor@gmail.com

160

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote javax.swing
DISPOSE_ON_CLOSE (definido em WindowConstants): Automaticamente esconde e elimina a frame.
EXIT_ON_CLOSE (definido em JFrame): Encerra a aplicao
usando o mtodo System exit.
O valor default HIDE_ON_CLOSE.

01/08/12

vladimir.professor@gmail.com

161

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote javax.swing
import java.awt.*;
import javax.swing.*;
public class TamanhoFrame extends JFrame {
public TamanhoFrame() {
Toolkit tk = Toolkit.getDefaultToolkit();
getDefaultToolkit()
Dimension d = tk.getScreenSize();
getScreenSize()
int largura = d.width/2;
width
int altura = d.height/2;
height
setBounds(largura/2, altura/2, largura, altura);
Image img = tk.getImage("fig.gif");
getImage
setIconImage(img);
setIconImage
setVisible(true);
}

public static void main(String[] args) {


new TamanhoFrame();
}

01/08/12

vladimir.professor@gmail.com

162

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Pacote javax.swing

01/08/12

vladimir.professor@gmail.com

163

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Passos sugeridos para a criao de uma interface grfica


Importe os pacotes necessrios.
Declare a classe como sendo derivada de JFrame.
Declare os componentes como atributos da classe.
No construtor:
Defina as caractersticas da frame.
Crie (instancie) os componentes com o operador new.
Adicione os componentes aos painis, caso necessrio.
Adicione os componentes e/ou painis na frame.
Redimensione e exiba a frame.
Instancie a classe no mtodo main( ).

01/08/12

vladimir.professor@gmail.com

164

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JPanel (javax.swing.JPanel)
Principais Construtores
JPanel ( )
JPanel ( LayoutManager gerenciador )
JPanel um container, porm, tambm uma subclasse de
JComponent.

01/08/12

vladimir.professor@gmail.com

165

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Componentes Swing
JLabel

JCheckbox

JButton

ButtonGroup

JToggleButton

JRadioButton

JTextField

JList

JTextArea

JComboBox

01/08/12

vladimir.professor@gmail.com

166

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JComponent (javax.swing.JComponent)
Construtor
JComponent ( )
Principais Mtodos
Graphics getGraphics ( ): Retorna o contexto grfico do
componente.
void paintComponent ( Graphics g ): Pinta o componente.
Normalmente sobreposto.
void setBorder ( Border borda ): Define a borda do componente.
void setFont ( Fonte tipo ): Define a fonte do componente.

01/08/12

vladimir.professor@gmail.com

167

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JComponent (javax.swing.JComponent)
void setOpaque ( boolean flag ): Define se o componente opaco
ou transparente.
void setToolTipText ( String dica ): Define o texto de ajuda do
componente.
void setVisible ( boolean flag ): Define se o componente est
visvel ou no.

01/08/12

vladimir.professor@gmail.com

168

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JLabel (javax.swing.JLabel)
Construtores
JLabel ( )
JLabel ( Icon cone )
JLabel ( Icon imagem, int alinhamento )
JLabel ( String texto )
JLabel ( String texto, Icon cone, int alinhamento )
JLabel ( String texto, int alinhamento )

01/08/12

vladimir.professor@gmail.com

169

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JLabel (javax.swing.JLabel)
Principais Mtodos
String getText ( ): Retorna o texto do label.
void setHorizontalAlignment ( int alinhamento ): Define o
alinhamento horizontal.
void setHorizontalTextPosition ( int posio ): Define a posio
do texto em relao imagem.
void setIcon ( Icon cone ): Define uma imagem para o label

01/08/12

vladimir.professor@gmail.com

170

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JLabel (javax.swing.JLabel)
Principais Mtodos
void setText ( String texto ): Define o texto do label
void setVerticalAlignment ( int alinhamento ): Define o
alinhamento vertical.
void setVerticalTextPosition ( int posio ): Define a posio
do texto em relao imagem.

01/08/12

vladimir.professor@gmail.com

171

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JButton (javax.swing.JButton)
Construtores
JButton ( )
JButton ( Icon cone )
JButton ( String texto)
JButton ( String texto, Icon cone)

01/08/12

vladimir.professor@gmail.com

172

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JButton (javax.swing.JButton)
Principais Mtodos (AbstractButton)
void addActionListener ( ActionListener ): Adiciona um ouvinte
de ao para o componente.
String getText ( ): Retorna o texto do componente.
void setEnable ( boolean estado ): Define se o componente
est ativado.

01/08/12

vladimir.professor@gmail.com

173

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JButton (javax.swing.JButton)
Principais Mtodos (AbstractButton)
void setHorizontalAlignment ( int alinhamento ): Define o
alinhamento horizontal do texto.
void setHorizontalPosition ( int posio ): Define a posio do
texto em relao imagem.
void setIcon ( Icon cone ): Define uma imagem para o
componente.

01/08/12

vladimir.professor@gmail.com

174

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JButton (javax.swing.JButton)
void setPressedIcon ( Icon cone ): Define a imagem que ser
exibida quando o componente for pressionado por meio de um
clique.
void setRolloverEnabled ( boolean estado ): Define se o efeito
rollover est ativado ou no para este componente.
void setRolloverIcon ( Icon cone ): Define a imagem que ser
exibida quando o mouse passar por cima do componente.

01/08/12

vladimir.professor@gmail.com

175

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JButton (javax.swing.JButton)
void setText ( String texto ): Define o texto que aparecer no
componente.
void setVerticalAlignment ( int alinhamento ): Define o
alinhamento vertical do texto.
void setVerticalPosition ( int posio ): Define a posio do texto
em relao imagem.

01/08/12

vladimir.professor@gmail.com

176

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JTextField (javax.swing. JTextField)


Principais Construtores
JTextField ( )
JTextField ( int colunas )
JTextField ( String texto )
JTextField ( String texto, int colunas )

01/08/12

vladimir.professor@gmail.com

177

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JTextField (javax.swing. JTextField)


Principais Mtodos
void addActionListener ( ActionListener ): Adiciona um ouvinte
de ao para o componente.
String getSelectedText ( ): Retorna o texto selecionado.
int getSelectionEnd ( ): Retorna a posio final da seleo.
int getSelectionStart ( ): Retorna a posio inicial da seleo.
String getText ( )
String getText ( int pos, int tam ): Retorna o texto do componente.
bollean isEditable ( ): Informa se o componente pode ser editado.
01/08/12

vladimir.professor@gmail.com

178

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JTextField (javax.swing. JTextField)


void replaceSelection ( String texto ): Troca o texto selecionado.
void select ( int incio, int final ): Seleciona uma parte do texto.
void selectAll ( ): Seleciona todo o texto.
void setColumns ( int colunas ): Define a quantidade de colunas
do componente.

01/08/12

vladimir.professor@gmail.com

179

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JTextField (javax.swing. JTextField)


void setEditable ( boolean b ): Define se o componente poder
ser editado.
void setFont ( Font f ): Define o tipo de fonte do componente.
void setHorizontalAlignment ( int alinhamento ): Define o
alinhamento horizontal do texto.
void setText ( String texto ):

01/08/12

Define o texto do componente.

vladimir.professor@gmail.com

180

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de Interface Grfica


import javax.swing.*;
public class ExemploGUI extends JFrame {
JButton btnNorte, btnSul, btnOeste, btnCentro, btnLeste;
public ExemploGUI() {
btnNorte = new JButton("Norte");
btnSul = new JButton("Sul");
btnOeste = new JButton("Oeste");
btnCentro = new JButton("Centro");
btnLeste = new JButton("Leste");
add(btnNorte, "North");
add(btnSul, "South");
add(btnOeste, "West");
add(btnCentro, "Center");
add(btnLeste, "East");
pack();
setVisible( true );
}
public static void main(String args[]) {
new ExemploGUI();
}
}
01/08/12

vladimir.professor@gmail.com

181

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de Componentes Swing


import java.awt.*;
import javax.swing.*;
class BotaoFrame extends JFrame {
JButton btn;
public BotaoFrame ( ) {
setTitle ("Oi Tudo Bem" );
setSize (300, 200);
btn = new JButton ("Boto Norte" );
btn.setIcon ( new ImageIcon ("figura.gif") );
btn.setToolTipText ("Ativa comando" );
btn.setMnemonic ( B );
add ( btn, "North" );
setVisible( true );
}
}

01/08/12

vladimir.professor@gmail.com

182

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JCheckBox ( javax.swing.JCheckBox )
Alguns Construtores
JCheckBox ( )
JCheckBox ( String texto )
JCheckBox ( String texto, boolean estado )

01/08/12

vladimir.professor@gmail.com

183

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JCheckBox ( javax.swing.JCheckBox )
Alguns Mtodos
boolean isSelected ( )
Retorna true se o componente estiver selecionado.
void setSelected ( boolean estado )
Define o estado do componente.
String getText ( )
Retorna o rtulo do componente.

01/08/12

vladimir.professor@gmail.com

184

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JCheckBox ( javax.swing.JCheckBox )
Alguns Mtodos
void setText ( String texo )
Define o rtulo do componente.
void setActionCommand ( String texto)
Define o texto de ao de commando do componente.
void addAcitonListener ( ActionListener a )
void addItemListener ( ItemListener i )

01/08/12

vladimir.professor@gmail.com

185

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de JCheckBox
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
public class ExemploJCheckBox extends JFrame implements
ActionListener {
JCheckBox chkProgramacao, chkBancoDados, chkAnalise;
JButton btn;
public ExemploJCheckBox() {
chkProgramacao = new JCheckBox("Programao");
chkBancoDados = new JCheckBox("Banco de Dados");
chkAnalise = new JCheckBox("Anlise de Sistemas");
btn = new JButton("krikaki");

01/08/12

vladimir.professor@gmail.com

186

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de JCheckBox
btn.addActionListener(this);
JPanel p = new JPanel(new GridLayout(3,1));
TitledBorder titulo =
BorderFactory.createTitledBorder("Assunto");
p.setBorder(titulo);
p.add(chkProgramacao);
p.add(chkBancoDados);
p.add(chkAnalise);
add(p, "Center");
add(btn, "South");
pack();
setVisible(true);
}

01/08/12

vladimir.professor@gmail.com

187

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de JCheckBox
public void actionPerformed(ActionEvent evt) {
String resp = "";
boolean nada = true;
if (chkProgramacao.isSelected()) {
resp = chkProgramacao.getText();
nada = false;
}
if (chkBancoDados.isSelected()) {
resp += "\n" + chkBancoDados.getText();
nada = false;
}

01/08/12

vladimir.professor@gmail.com

188

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de JCheckBox
if (chkAnalise.isSelected()) {
resp += "\n" + chkAnalise.getText();
nada = false;
}
if (nada) {
JOptionPane.showMessageDialog(null, "Nenhum Assunto");

} else
JOptionPane.showMessageDialog(null, resp);
}
public static void main(String[] args) {
new ExemploJCheckBox();
}
}
01/08/12

vladimir.professor@gmail.com

189

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JRadionButton ( javax.swing.JRadionButton)
Alguns Construtores
JRadioButton ( )
JRadioButton ( String texto )
JRadioButton ( String texto, boolean estado )

01/08/12

vladimir.professor@gmail.com

190

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JRadionButton ( javax.swing.JRadionButton)
Alguns Mtodos
boolean isSelected ( ): Retorna true se o componente estiver
selecionado.
void setSelected ( boolean estado ): Define o estado do
componente.
String getText ( ): Retorna o rtulo do componente.
void setText ( String texo ): Define o rtulo do componente.

01/08/12

vladimir.professor@gmail.com

191

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JRadionButton ( javax.swing.JRadionButton)
Alguns Mtodos
void setActionCommand ( String texto): Define o texto de ao
de commando do componente.
void addAcitonListener ( ActionListener a )
void addItemListener ( ItemListener i )

01/08/12

vladimir.professor@gmail.com

192

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JButtonGroup ( javax.swing.JButtonGroup)
Utilizado para agrupar JRadioButton's
Construtor
ButtonGroup ( )
Alguns Mtodos
void add ( AbstractButton b ): Adiciona um boto no grupo.
void clearSelection ( ): Limpa a seleo no grupo.
String getSelection.getActionCommand ( ): Retorna o texto de
ao de comando do componente selecionado.

01/08/12

vladimir.professor@gmail.com

193

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de JRadioButton
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
public class ExemploJRadioButton extends JFrame implements
ActionListener {
JRadioButton rbMasc, rbFem;
JButton btn;
ButtonGroup bgSexo;
public ExemploJRadioButton() {
rbMasc = new JRadioButton("Masc.", true);
rbMasc.setActionCommand("Masculino");
rbFem = new JRadioButton("Fem.");
rbFem.setActionCommand("Feminino");
01/08/12

vladimir.professor@gmail.com

194

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de JRadioButton
bgSexo = new ButtonGroup();
bgSexo.add(rbMasc);
bgSexo.add(rbFem);
btn = new JButton("krikaki");
btn.addActionListener(this);
JPanel p = new JPanel(new GridLayout(3,1));
TitledBorder titulo = BorderFactory.createTitledBorder("Sexo");
p.setBorder(titulo);
p.add(rbMasc);
p.add(rbFem);

01/08/12

vladimir.professor@gmail.com

195

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de JRadioButton
add(p, "Center");
add(btn, "South");
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent evt) {
String resp = bgSexo.getSelection().getActionCommand();
JOptionPane.showMessageDialog(null, resp);
}
public static void main(String[] args) {
new ExemploJRadioButton();
}
}

01/08/12

vladimir.professor@gmail.com

196

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JList ( javax.swing.JList)
Alguns Construtores
JList ( )
JList ( Object[] elementos )
JList ( ListModel modelo )
Alguns Mtodos
int getSelectedIndex ( ) :retorna o ndice do primeiro elemento
selecionado.
int [ ] getSelectedIndices ( ): retorna um array com os ndices
de todos os elementos selecionados.
01/08/12

vladimir.professor@gmail.com

197

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JList ( javax.swing.JList)
Object getSelectedValue ( ): Retorna o primeiro elemento
selecionado.
Object [ ] getSelectedValues ( ): Retorna um array com todos os
elementos selecionados.
void clearSelection ( ): Limpa a seleo dos elementos.
ListModel getModel ( ): Retorna o modelo de dados da lista.
void setListData ( Object [ ] elementos ): Cria um ListModel
atravs do array e o aplica lista.

01/08/12

vladimir.professor@gmail.com

198

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JList ( javax.swing.JList)
boolean isSelectedIndex ( int ndice ): retorna true se o elemento
estiver selecionado.
boolean isSelectionEmpty ( ): retorna true se no houver nenhum
elemento selecionado.
void setVisibleRowCount (int qtd): Define a quantidade de
elementos exibidos.
void setSelectedIndex ( int ndice ): Seleciona um elemento.

01/08/12

vladimir.professor@gmail.com

199

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JList ( javax.swing.JList)
void setSelectedIndices ( int [] ndices ): Seleciona todos os
elementos indicados no array.
void setSelectionMode ( int modo): Define o modo de seleo,
modo pode ser:
ListSelectionModel.SINGLE_SELECTION
ListSelectionModel.SINGLE_INTERVAL_SELECTION
ListSelectionModel.MULTIPLE_INTERVAL_SELECTION

01/08/12

vladimir.professor@gmail.com

200

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

DefaultListModel (javax.swing.DefaultListModel)
Construtor
DefaultListModel ( )
Alguns Mtodos
void addElement ( Object elemento ): Adiciona um elemento ao
final da lista.
void clear ( ): Remove todos os elementos da lista.
Object getElementAt ( int ndice ): Retorna o elemento
especificado.

01/08/12

vladimir.professor@gmail.com

201

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

DefaultListModel (javax.swing.DefaultListModel)
int getSize ( ): Retorna o nmero de elementos na lista.
boolean isEmpty ( ): Retorna true se a lista estiver vazia.
Object remove ( int ndice ): Remove um elemento de ndice
especificado.

01/08/12

vladimir.professor@gmail.com

202

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de JList
import javax.swing.*;
import java.awt.event.*;
public class ExemploJList extends JFrame implements ActionListener
{
JList lista;
DefaultListModel modelo;
JButton btn;
public ExemploJList() {
String dados[] = {"JavaSE", "JavaEE", "JavaME"};
modelo = new DefaultListModel();
for (String texto:dados) {
modelo.addElement(texto);
}

01/08/12

vladimir.professor@gmail.com

203

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de JList
// No lugar do for, voc pode usar:
// lista.setListData(dados);
lista = new JList(modelo);
lista.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELE
CTION);
JScrollPane sp = new JScrollPane(lista);
add(sp, "Center");
btn = new JButton("krikaki");
btn.addActionListener(this);
add(btn, "South");

01/08/12

vladimir.professor@gmail.com

204

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de JList
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent evt) {
Object selecionados[] = lista.getSelectedValues();
for (Object texto:selecionados) {
System.out.println(texto);
}
}
public static void main(String[] args) {
new ExemploJList();
}
}

01/08/12

vladimir.professor@gmail.com

205

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JComboBox ( javax.swing.JComboBox)
Alguns Construtores
JComboBox ( )
JComboBox ( Object[] elementos )
JComboBox ( ComboBoxModel modelo )
Alguns Mtodos
int getSelectedIndex ( ): Retorna o ndice do primeiro elemento
selecionado.
Object getSelectedItem ( ): Retorna o primeiro elemento
selecionado.
01/08/12

vladimir.professor@gmail.com

206

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JComboBox ( javax.swing.JComboBox)
void addItem ( Object elemento ): Adiciona um item na lista.
void removeAllItems ( ): Remove todos os elementos da lista.
void setMaximumRowCount ( int qtdLinhas): Define o nmero
mximo de linhas a ser exibido.
void setSelectedIndex ( int ndice ): Seleciona um determinado
elemento.
ComboBoxModel getModel ( ): Retorna o modelo da lista.

01/08/12

vladimir.professor@gmail.com

207

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

DefaultComboBoxModel (javax.swing.DefaultComboBoxModel)
Alguns Construtores
DefaultComboBoxModel ( )
DefaultComboBoxModel ( Object [] elementos)
Alguns Mtodos
void addElement ( Object elemento ): Adiciona um elemento ao
final da lista.
Object getElementAt ( int ndice ): Retorna o elemento
especificado.
int getSize ( ): Retorna o nmero de elementos na lista.
01/08/12

vladimir.professor@gmail.com

208

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

DefaultComboBoxModel (javax.swing.DefaultComboBoxModel)
void removeAllElements ( ): Remove todos os elementos da
lista.
Object removeElementAt ( int ndice ): Remove um elemento de
ndice especificado.

01/08/12

vladimir.professor@gmail.com

209

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de JComboBox
import javax.swing.*;
import java.awt.event.*;
public class ExemploJComboBox extends JFrame implements
ActionListener {
JComboBox combo;
JButton btn;
public ExemploJComboBox() {
String dados[] = {"JavaSE", "JavaEE", "JavaME"};
combo = new JComboBox(dados);
combo.addItem("Todas");
combo.setSelectedIndex(3);
combo.setMaximumRowCount(2);
add(combo, "Center");
btn = new JButton("krikaki");
btn.addActionListener(this);
add(btn, "South");
01/08/12

vladimir.professor@gmail.com

210

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de JComboBox
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent evt) {
Object selecionado = combo.getSelectedItem();
JOptionPane.showMessageDialog(null, selecionado);
}
public static void main(String[] args) {
new ExemploJComboBox();
}
}

01/08/12

vladimir.professor@gmail.com

211

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JTable ( javax.swing.JTable)
Alguns Construtores
JTable ( )
JTable ( Object [] [] dados, Object [] nomeColunas )
JTable ( TableModel modelo )
Alguns Mtodos
TableModel getModel ( ): Retorna o TableModel da tabela.
int getRowCount ( ): Retorna a quantidade de linhas no modelo
da tabela.

01/08/12

vladimir.professor@gmail.com

212

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JTable ( javax.swing.JTable)
int getSelectedColumn ( ): Retorna o ndice da coluna selecionada,
-1 se nenhuma coluna estiver selecionada.
int getSelectedRow ( ): Retorna o ndice da linha selecionada, -1 se
nenhuma linha estiver selecionada.
int [ ] getSelectedRows ( ): Retorna um array contendo os ndices de
todas as linha selecionadas.
int getSelectedRowCount ( ): Retorna a qtd. de linhas selecionadas.
Object getValueAt (int lin, int col ): Retorna o valor de uma clula.
void setValueAt ( Object val, int lin, int col ): Define o valor de uma
clula.
01/08/12

vladimir.professor@gmail.com

213

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

DefaultTableModel (javax.swing.Table.DefaultTableModel)
Alguns Construtores
DefaultTableModel ( )
DefaultTableModel ( int linhas, int colunas )
DefaultTableModel ( Object [] [] dados, Object [] nomeColunas )
Alguns Mtodos
void addRow ( Object [] linha ): Adiciona uma linha no final do
modelo da tabela.

01/08/12

vladimir.professor@gmail.com

214

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

DefaultTableModel (javax.swing.Table.DefaultTableModel)
int getColumnCount ( ): Retorna a quantidade de colunas do
modelo da tabela.
int getRowCount ( ): Retorna a quantidade de linhas do modelo
da tabela.
Object getValueAt (int linha, int coluna ): Retorna o valor de uma
clula.
void insertRow ( int ndice, Object [] linha ): Insere uma linha no
modelo da tabela.

01/08/12

vladimir.professor@gmail.com

215

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

DefaultTableModel (javax.swing.Table.DefaultTableModel)
void removeRow ( int ndice ): Remove uma linha no modelo da
tabela.
void setValueAt ( Object valor, int linha, int coluna ): Define o
valor de uma clula.

01/08/12

vladimir.professor@gmail.com

216

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de JTable
import javax.swing.*;
import javax.swing.table.*;
import java.awt.event.*;
public class ExemploJTable extends JFrame implements
ActionListener {
JTable tabela;
DefaultTableModel modelo;
JButton btn;
public ExemploJTable() {
String colunas[] = {"Nome", "Endereo", "Telefone"};
String dados[][] = { {"Joo", "Rua Tal", "4444"},
{"Maria", "Av Tal",
"3333"} };
modelo = new DefaultTableModel(dados, colunas);
tabela = new JTable(modelo);
JScrollPane sp = new JScrollPane(tabela);
add(sp, "Center");

01/08/12

vladimir.professor@gmail.com

217

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de JTable
btn = new JButton("krikaki");
btn.addActionListener(this);
add(btn, "South");
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent evt) {
int linha = tabela.getSelectedRow();
int coluna = tabela.getSelectedColumn();
if (linha != -1 && coluna != -1) {
String dado = (String)tabela.getValueAt(linha, coluna);
JOptionPane.showMessageDialog(this, dado);
} else {
JOptionPane.showMessageDialog(this, Sem seleo");
}
}
public static void main(String[] args) {
new ExemploJTable();
}
}
01/08/12

vladimir.professor@gmail.com

218

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de JTable

01/08/12

vladimir.professor@gmail.com

219

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JColorChooser (javax.swing.JColorChooser)
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class DialogoCor extends JFrame implements
ActionListener {
JButton btn;
public DialogoCor() {
btn = new JButton("krikaki");
btn.addActionListener(this);
getContentPane().add(btn, "West");
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
Color corAtual = btn.getBackground();
Color novaCor =
JColorChooser.showDialog(DialogoCor.this,
showDialog
"Escolha a cor", corAtual);
corAtual
btn.setBackground(novaCor);
}
01/08/12

vladimir.professor@gmail.com

220

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

JColorChooser (javax.swing.JColorChooser)

public static void main ( String args [ ] ) {


new DialogoCor ( );
}

01/08/12

vladimir.professor@gmail.com

221

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Tipos de Cursor (javax.awt.Cursor)


CROSSHAIR_CURSOR: Cursor em formato de cruz.
CUSTOM_CURSOR: Cursor personalizado.
DEFAULT_CURSOR: Cursor default
E_RESIZE: Redimensionamento Leste
HAND_CURSOR: Cursor em formato de mo
MOVE_CURSOR: Cursor de movimentao
N_RESIZE_CURSOR: Redimensionamento Norte

01/08/12

vladimir.professor@gmail.com

222

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Tipos de Cursor (javax.awt.Cursor)


NE_RESIZE_CURSOR: Redimensionamento Nordeste
NW_RESIZE_CURSOR: Redimensionamento Noroeste
S_RESIZE_CURSOR: Redimensionamento Sul
SE_RESIZE_CURSOR: Redimensionamento Sudeste
SW_RESIZE_CURSOR: Redimensionamento Sodoeste
TEXT_CURSOR: Texto
W_RESIZE_CURSOR: Redimensionamento Oeste
WAIT_CURSOR: Cursor de pausa

01/08/12

vladimir.professor@gmail.com

223

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de Tipos de Cursor


import java.awt.*;
import javax.swing.*;
public class Cursores extends JFrame {
public Cursores() {
setLayout(new FlowLayout());
JButton btn1 = new JButton("Cruz");
JButton btn2 = new JButton("Mo");
JButton btn3 = new JButton("Movimento");
JButton btn4 = new JButton("Texto");
JButton btn5 = new JButton("Espera");
btn1.setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR));
btn2.setCursor(new Cursor(Cursor.HAND_CURSOR));
btn3.setCursor(new Cursor(Cursor.MOVE_CURSOR));
btn4.setCursor(new Cursor(Cursor.TEXT_CURSOR));
btn5.setCursor(new Cursor(Cursor.WAIT_CURSOR));

01/08/12

vladimir.professor@gmail.com

224

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de Tipos de Cursor


cp.add(btn1);
cp.add(btn2);
cp.add(btn3);
cp.add(btn4);
cp.add(btn5);
pack();
setVisible(true);
}
public static void main(String[] args) {
new Cursores( );
}
}

01/08/12

vladimir.professor@gmail.com

225

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de Cursor Personalizado


import java.awt.*;
import javax.swing.*;
public class CursorPessoal extends JFrame {
JButton btn;
public CursorPessoal() {
Toolkit tk = Toolkit.getDefaultToolkit();
Image img = tk.getImage("imagem.gif");
setIconImage(img);
Cursor cursor = tk.createCustomCursor(img, new Point(20, 20),
"Oi");
btn = new JButton("krikaki");
btn.setToolTipText("Oi tudo bem");
btn.setCursor(cursor);
add(btn, "North");
setBounds(100,100, 200, 300);
setVisible(true);
} public static void main(String[] args) {
new CursorPessoal();
}
}
01/08/12

vladimir.professor@gmail.com

226

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de utilizando JSplitPane


importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JSplitPane;
publicclassSplitPaneExpextendsJFrame{

publicSplitPaneExp(){
setTitle("ExampleofSplitPane");
setSize(150,150);
JPaneljsp1=newJPanel();
JPaneljsp2=newJPanel();
JLabelj1=newJLabel("Area1");
JLabelj2=newJLabel("Area2");
jsp1.add(j1);
jsp2.add(j2);

01/08/12

vladimir.professor@gmail.com

227

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de utilizando JSplitPane


JSplitPanesplitPane=
newJSplitPane(
JSplitPane.VERTICAL_SPLIT,true,jsp1,jsp2);
splitPane.setOneTouchExpandable(true);
getContentPane().add(splitPane);
}
publicstaticvoidmain(String[]args){
SplitPaneExpsp=newSplitPaneExp();
sp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
sp.setVisible(true);
} }

01/08/12

vladimir.professor@gmail.com

228

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de utilizando JTree


import
import
import
import
import

javax.swing.JFrame;
javax.swing.JTree;
javax.swing.JScrollPane;
javax.swing.tree.DefaultTreeModel;
javax.swing.tree.DefaultMutableTreeNode;

class ArvoreSimples extends JFrame{


public ArvoreSimples() {
DefaultMutableTreeNode pais;
DefaultMutableTreeNode estado;
DefaultMutableTreeNode cidade;
DefaultMutableTreeNode bairro;
//
criando no raiz
pais = new DefaultMutableTreeNode("Brasil");
//
criando no nivel 1
estado = new DefaultMutableTreeNode("GO");
pais.add(estado);

01/08/12

vladimir.professor@gmail.com

229

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de utilizando JTree


//

criando no nivel 2
cidade = new DefaultMutableTreeNode("Goinia");
estado.add(cidade);
//
criando no folha
bairro = new DefaultMutableTreeNode("Jardim Amrica");
cidade.add(bairro);
bairro = new DefaultMutableTreeNode("Nova Sua");
cidade.add(bairro);
bairro = new DefaultMutableTreeNode("Centro");
cidade.add(bairro);
//
criando no nivel 2
cidade = new DefaultMutableTreeNode("Aparecida de Goinia");
estado.add(cidade);
//
criando no folha
bairro = new DefaultMutableTreeNode("Vila Braslia");
cidade.add(bairro);
bairro = new DefaultMutableTreeNode("Setor Garavelo");
cidade.add(bairro);
01/08/12

vladimir.professor@gmail.com

230

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exemplo de utilizando JTree


bairro = new DefaultMutableTreeNode("Jardim Itaip");
cidade.add(bairro);
//Crie o modelo
DefaultTreeModel modelo = new DefaultTreeModel(pais);
//E adicione o modelo ao JTree:
JTree arvore = new JTree(modelo);
getContentPane().add(new JScrollPane(arvore));
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setSize(300, 400);
}
}
public class ArvoreExemplo1 {
public static void main(String[] args) {
new ArvoreSimples().setVisible(true);
}
}

01/08/12

vladimir.professor@gmail.com

231

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Exerccio
Crie uma rvore para mostrar uma hierarquia de futebol. Ex: FIFA
--> CBF --> Federao Paulista de Futebol --> So Paulo

01/08/12

vladimir.professor@gmail.com

232

Linguagem de Programao Orientada a Objetos (LPOO)

So Paulo, 2012

Universidade Paulista (UNIP)

Programas de exemplo utilizando interface


grfico do pacote swing

Prof. MSc. Vladimir Camelo


Vladimir.professor@gmail.com

01/08/12

vladimir.professor@gmail.com

233

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Programa utilizando um SplitPane

01/08/12

vladimir.professor@gmail.com

234

Linguagem de Programao Orientada a Objetos (LPOO)

Programa utilizando um SplitPane

01/08/12

vladimir.professor@gmail.com

235

Linguagem de Programao Orientada a Objetos (LPOO)

Programa utilizando um SplitPane


Exerccio
1.

Crie um programa em Java que utilize um JSplitPane de forma


horizontal.

2.

Crie um Programa em Java que utilize um JSplitPane sendo que


o Frame dever ser repartido em trs partes, desta forma ser
utilizado um JSplitPane Horizontal e um JSplitPane Vertical

01/08/12

vladimir.professor@gmail.com

236

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Programa utilizando Abas

01/08/12

vladimir.professor@gmail.com

237

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Programa utilizando Abas

01/08/12

vladimir.professor@gmail.com

238

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Programa utilizando Abas

01/08/12

vladimir.professor@gmail.com

239

Linguagem de Programao Orientada a Objetos (LPOO)

Programa utilizando Abas

01/08/12

vladimir.professor@gmail.com

240

Linguagem de Programao Orientada a Objetos (LPOO)

Programa utilizando Abas


Exerccio
1.

Crie um programa em Java que utilize um JTabbedPane para criar


4 abas sendo uma para cadastrar, outra para alterar, outra para
excluir e por ltimo uma para selecionar clientes. Adicione neste
formulrio os botes, labels e caixas de texto necessrias para
um formulrio deste tipo.

01/08/12

vladimir.professor@gmail.com

241

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Programa utilizando menu flutuante

01/08/12

vladimir.professor@gmail.com

242

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Programa utilizando menu flutuante

01/08/12

vladimir.professor@gmail.com

243

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Programa utilizando menu flutuante

01/08/12

vladimir.professor@gmail.com

244

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Programa utilizando menu flutuante

01/08/12

vladimir.professor@gmail.com

245

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Programa utilizando menu flutuante

01/08/12

vladimir.professor@gmail.com

246

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Programa utilizando FileChooser

01/08/12

vladimir.professor@gmail.com

247

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Programa utilizando FileChooser

01/08/12

vladimir.professor@gmail.com

248

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Programa utilizando FileChooser

01/08/12

vladimir.professor@gmail.com

249

Linguagem de Programao Orientada a Objetos (LPOO)

Programa utilizando FileChooser

01/08/12

vladimir.professor@gmail.com

250

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Programa utilizando JSlider (Controle deslizante)

01/08/12

vladimir.professor@gmail.com

251

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Programa utilizando JSlider (Controle deslizante)

01/08/12

vladimir.professor@gmail.com

252

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Programa utilizando JSlider (Controle deslizante)

01/08/12

vladimir.professor@gmail.com

253

Linguagem de Programao Orientada a Objetos (LPOO)

Programa utilizando JSlider (Controle deslizante)

01/08/12

vladimir.professor@gmail.com

254

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Programa Formatao em caixa de texto


import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JCheckBox;
public class CheckBoxFrame extends JFrame
{
private JTextField textField; // exibe o texto na alterao de fontes
private JCheckBox boldJCheckBox; // para selecionar/desselecionar negrito
private JCheckBox italicJCheckBox; // para selecionar/desselecionar itlico
// construtor CheckBoxFrame adiciona JCheckBoxes ao JFrame
public CheckBoxFrame()
{
super( "JCheckBox Test" );
setLayout( new FlowLayout() ); // configura o layout de frame

01/08/12

vladimir.professor@gmail.com

255

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Componentes grficos O pacote Swing


// configura JTextField e sua fonte
textField = new JTextField( "Veja o estilo da fonte mudando!", 20 );
textField.setFont( new Font( "Serif", Font.PLAIN, 14 ) );
add( textField ); // adiciona textField ao JFrame
boldJCheckBox = new JCheckBox( "Bold" ); // cria caixa de seleo p/ negrito
italicJCheckBox = new JCheckBox( "Italic" ); // cria itlico
add( boldJCheckBox ); // adiciona caixa de seleo de negrito ao JFrame
add( italicJCheckBox ); // adiciona caixa de seleo de itlico ao JFrame
// listeners registradores para JCheckBoxes
CheckBoxHandler handler = new CheckBoxHandler();
boldJCheckBox.addItemListener( handler );
italicJCheckBox.addItemListener( handler );
} // fim do construtor CheckBoxFrame

01/08/12

vladimir.professor@gmail.com

256

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Componentes grficos O pacote Swing


// classe interna private para tratamento de evento ItemListener
private class CheckBoxHandler implements ItemListener
{
private int valBold = Font.PLAIN; // controla o estilo de fonte negrito
private int valItalic = Font.PLAIN; // controla o estilo de fonte itlico
// responde aos eventos de caixa de seleo
public void itemStateChanged( ItemEvent event ) {
// processa eventos da caixa de seleo de negrito
if (event.getSource() == boldJCheckBox)
valBold =
boldJCheckBox.isSelected()? Font.BOLD : Font.PLAIN;
// processa eventos da caixa de seleo de itlico
if (event.getSource() == italicJCheckBox)
valItalic = italicJCheckBox.isSelected()? Font.ITALIC : Font.PLAIN;
// configura a fonte do campo de texto
textField.setFont(new Font( "Serif", valBold + valItalic, 14 ) );
} // fim do mtodo itemStateChanged
} // fim da classe CheckBoxHandler interna private

01/08/12

vladimir.professor@gmail.com

257

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Componentes grficos O pacote Swing


public static void main( String args[] ) {
CheckBoxFrame checkBoxFrame = new CheckBoxFrame();
checkBoxFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
checkBoxFrame.setSize( 275, 100 ); // configura o tamanho do frame
checkBoxFrame.setVisible( true ); // exibe o frame
} // fim de main
} // fim da classe CheckBoxFrame

01/08/12

vladimir.professor@gmail.com

258

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

Componentes grficos O pacote Swing

01/08/12

vladimir.professor@gmail.com

259

Linguagem
deem
Programao
Objetos (LPOO)
Interface
grfica
Java e acessoOrientada
a Banco deadados

So Paulo, 2012

Universidade Paulista (UNIP)

Programas de exemplo utilizando interface


grfico do pacote swing

Prof. MSc. Vladimir Camelo


Vladimir.professor@gmail.com

01/08/12

vladimir.professor@gmail.com

260

Você também pode gostar