Post on 20-Jan-2019
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
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.