programaÇÃo orientada a objetos aula 3 ...rogerio/poo/06 - interfaces ricas.pdfdesenvolvendo...

19
PROGRAMAÇÃO ORIENTADA A OBJETOS Aula 3- Desenvolvendo Interfaces Mais Ricas

Upload: dangthien

Post on 20-Jan-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

PROGRAMAÇÃO ORIENTADA A OBJETOS

Aula 3- Desenvolvendo Interfaces Mais Ricas

DESENVOLVENDO INTERFACES MAIS RICAS– AULA3

PROGRAMAÇÃO ORIENTADA A OBJETOS

Conteúdo Programático desta aula

Manipular de Fontes, cursores, bordas,

cores de fontes e cores de fundos

Gerenciar interfaces com menus e

caixas de diálogos

Trabalhar com campos e botões

Manipular interfaces exibindo Listas,

caixas de opção e tabelas

DESENVOLVENDO INTERFACES MAIS RICAS– AULA3

PROGRAMAÇÃO ORIENTADA A OBJETOS

Aspectos visuais em Java

Ao desenvolver uma Interface, é

fundamental interferir em seus

componentes visuais como:

•Fontes

•Cursores

•Bordas

•Cores

•Nas fontes

•No segundo plano – fundo

DESENVOLVENDO INTERFACES MAIS RICAS– AULA3

PROGRAMAÇÃO ORIENTADA A OBJETOS

Fontes

A classe Font (java.awt.Font) representa as fontes que são utilizadas para

apresentar os textos nas Interfaces gráficas.

Resumo dos construtores:

Font (String nome, int estilo, int tamanho);

Cria uma fonte específica (nome), com o estilo e o tamanho em pontos.

Em Java, as fontes precisam ser criadas para serem utilizadas

DESENVOLVENDO INTERFACES MAIS RICAS– AULA3

PROGRAMAÇÃO ORIENTADA A OBJETOS

Fontes

DESENVOLVENDO INTERFACES MAIS RICAS– AULA3

PROGRAMAÇÃO ORIENTADA A OBJETOS

Fontes

for (int j=0; j<i; j++){

jb = new JLabel("XX- "+listaDeFontes[j]+" -XX"); //Cria o label

f=new Font(listaDeFontes[j],Font.PLAIN, 14); // cria a fonte

jb.setFont(f); define a fonte do label

add(jb); adiciona o label

}

DESENVOLVENDO INTERFACES MAIS RICAS– AULA3

PROGRAMAÇÃO ORIENTADA A OBJETOS

Cursores A classe Cursor (java.lang.Object) encapsula a representação do bitmap

do cursor do mouse.

Para alterar o comportamento dos cursores, basta definir o novo tipo de

cursor com:

this.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));

DESENVOLVENDO INTERFACES MAIS RICAS– AULA3

PROGRAMAÇÃO ORIENTADA A OBJETOS

Cursores A classe Cursor (java.lang.Object) encapsula a representação do bitmap

do cursor do mouse.

Para alterar o comportamento dos cursores, basta definir o novo tipo de

cursor com:

this.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));

DESENVOLVENDO INTERFACES MAIS RICAS– AULA3

PROGRAMAÇÃO ORIENTADA A OBJETOS

Exercício - Cursores

No exemplo abaixo, criamos um pequeno programa que troca o cursor de

acordo com o botão apertado.

DESENVOLVENDO INTERFACES MAIS RICAS– AULA3

PROGRAMAÇÃO ORIENTADA A OBJETOS

Cursores

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {

this.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));

}

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {

this.setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

this.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));

}

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

}

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

this.setCursor(Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR)); }

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {

this.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); }

DESENVOLVENDO INTERFACES MAIS RICAS– AULA3

PROGRAMAÇÃO ORIENTADA A OBJETOS

Bordas Através do método setBorder

de JComponent, o pacote

Swing permite a criação de

bordas envolvendo os

componentes

DESENVOLVENDO INTERFACES MAIS RICAS– AULA3

PROGRAMAÇÃO ORIENTADA A OBJETOS

Tipos de Bordas - Simple Define as bordas simples, que

podem ser em relevo, apenas

uma linha, encravada, sem

borda.

DESENVOLVENDO INTERFACES MAIS RICAS– AULA3

PROGRAMAÇÃO ORIENTADA A OBJETOS

Tipos de Bordas - Matte Você define quantos pixels

serão utilizados e qual figura

será utilizada.

DESENVOLVENDO INTERFACES MAIS RICAS– AULA3

PROGRAMAÇÃO ORIENTADA A OBJETOS

Tipos de Bordas - Title Coloca uma borda com um

texto.

DESENVOLVENDO INTERFACES MAIS RICAS– AULA3

PROGRAMAÇÃO ORIENTADA A OBJETOS

Tipos de Bordas - Compound Podemos compor duas bordas

com este estilo.

DESENVOLVENDO INTERFACES MAIS RICAS– AULA3

PROGRAMAÇÃO ORIENTADA A OBJETOS

Cores

Podemos definir e manipular as cores em

Java através da classe Color. Esta classe

encapsula as cores do sistema RGB (Red,

Green and Blue).

O Sistema RGB pode ser entendido como

objetos que emitem luz, como

monitores, televisão ou o sol,

sobrepondo ou somando os comprimentos

de onda.

A escala de cor varia de 0 até 255, sendo

que 0 o canhão está desligado e com 255

ligado no máximo. Quando temos os três

canhões desligados, teremos o preto, que

indica ausência de luz, enquanto que

quando ligamos todos os canhões no

máximo, teremos o branco.

DESENVOLVENDO INTERFACES MAIS RICAS– AULA3

PROGRAMAÇÃO ORIENTADA A OBJETOS

Manipulando Cores

Cores de Fontes Para definirmos as cores das fontes dos componentes, basta definir a

propriedade Foreground com a cor desejada. É possível utilizar cores pré

definidas ou definir na hora.

Ex.:

jLabel6.setForeground(Color.blue);

Color vermelhoEscuro = new Color(235,50,50);

jLabel5.setForeground(vermelhoEscuro);

Cores de Fundo Para definirmos as cores de fundo, utilizamos a propriedade Background.

O detalhe é que esta propriedade só funciona para componentes que

sejam opacos. Então, é necessário definir a opacidade como verdadeiro.

Ex.:

jLabel7.setOpaque(true);

jLabel7.setBackground(Color.green);

DESENVOLVENDO INTERFACES MAIS RICAS– AULA3

PROGRAMAÇÃO ORIENTADA A OBJETOS

Menus

Os menus, que são instanciados a partir da classe JMenu, são anexados

a uma barra de menus com o método add(JMenu) de JMenuBar, sendo

que instâncias dessa última classe comportam-se como containers para

menus.

Passo a passo para montagem de um menu em barras em

Java: Instancie um JMenuBar. Ele é o responsável pela

estrutura do menu.

Adicione tantos JMenu’s quantos forem

necessários para as opções.

Dentro de cada JMenu, coloque o

JMenuItem, que é o responsável pela

opção a ser escolhida.

DESENVOLVENDO INTERFACES MAIS RICAS– AULA3

PROGRAMAÇÃO ORIENTADA A OBJETOS

Listas e caixas de Opção

As listas permitem apresentar um vetor de Strings na tela. Podemos

usar dois objetos implementados, um na AWT – List e outro no Swing –

Jlist.

Caixas de Opção São caixas de seleção onde o usuário escolhe opções. Podem ser

exclusivas ou não exclusivas.

Para as exclusivas, temos que criar um objeto de grupo, chamado

CheckboxGroup.