Elaborando as Interfaces
dos trabalhos das aulas 28, 29 e 30.
Prof. André Aparecido da Silva
Disponível em: [Link]
Aulas 28, 29 e 30.
1
Exercício
• Crie uma tela com os menus
Menu Arquivo
Novo
(Separador de menu)
Sair do Sistema
Menu Cores
Colocar diversas opções de cores
Menu Ajuda
(Sem opções)
2
NA MINHA IMPLEMENTAÇÃO FICOU ASSIM
3
4
IMPORTANDO AS BIBLIOTECAS E
DECLARANDO OS COMPONENTES
import [Link].*;
import [Link].*;
import [Link].*;
import [Link].*;
public class InterfaceMenu extends JFrame implements ActionListener
{
JMenuBar Barra_de_Menu = new JMenuBar();
JMenu Menu_Arquivo, Menu_Opcoes, Menu_Cores;
JMenuItem MenuIem_Novo, MenuItem_Sair;
JMenuItem MenuItem_Cor_Amarela, MenuItem_Cor_Azul;
JMenuItem MenuItem_Cor_Verde, MenuItem_Cor_Vermelho;
5
O método construtor desta classe
public InterfaceMenu()
{
setJMenuBar(Barra_de_Menu);
Barra_de_Menu.add(Menu_Arquivo = new JMenu("ARQUIVO"));
6
Detalhe...
• A barra de menu é instanciada através do
método set e não através do método add.
setJMenuBar(Barra_de_Menu);
7
Itens do Menu Arquivo
Barra_de_Menu.add(Menu_Arquivo = new JMenu("ARQUIVO"));
Menu_Arquivo.add(MenuIem_Novo = new JMenuItem("NOVO"));
Menu_Arquivo.addSeparator();
Menu_Arquivo.add(MenuItem_Sair = new JMenuItem("SAIR"));
8
O Menu Arquivo ficou assim...
9
Menu_Arquivo.addSeparator();
A linha de comando
addSeparator(); tem
função estética dentro da
interface gráfica, não
alterando qualquer
resultado se a mesma não
estiver ali.
10
O método construtor desta classe
Barra_de_Menu.add(Menu_Opcoes = new JMenu("OPÇÕES"));
Menu_Opcoes.add(Menu_Cores = new JMenu("CORES"));
Menu_Cores.add(MenuItem_Cor_Amarela = new JMenuItem ("AMARELA"));
Menu_Cores.add(MenuItem_Cor_Azul = new JMenuItem ("AZUL"));
Menu_Cores.add(MenuItem_Cor_Verde = new JMenuItem ("VERDE"));
Menu_Cores.add(MenuItem_Cor_Vermelho=new JMenuItem ("VERMELHA"));
11
O Menu Opções ficou assim...
Um menu dentro de outro
menu.
Barra_de_Menu.add(Menu_Opcoes = new JMenu("OPÇÕES"));
Menu_Opcoes.add(Menu_Cores = new JMenu("CORES"));
12
Os SubMenus do Menu Cores
Barra_de_Menu.add(Menu_Opcoes = new JMenu("OPÇÕES"));
Menu_Opcoes.add(Menu_Cores = new JMenu("CORES"));
Menu_Cores.add(MenuItem_Cor_Amarela = new JMenuItem ("AMARELA"));
Menu_Cores.add(MenuItem_Cor_Azul = new JMenuItem ("AZUL"));
Menu_Cores.add(MenuItem_Cor_Verde = new JMenuItem ("VERDE"));
13
A tela ficou assim...
14
O Tratamento de eventos
////Tornando os Item sensiveis ao click do mouse
MenuIem_Novo.addActionListener(this);
MenuItem_Sair.addActionListener(this);
MenuItem_Cor_Amarela.addActionListener(this);
MenuItem_Cor_Azul.addActionListener(this);
MenuItem_Cor_Verde.addActionListener(this);
MenuItem_Cor_Vermelho.addActionListener(this);
15
Tratando os eventos
public void actionPerformed (ActionEvent e)
{
if([Link]()==MenuItem_Sair)
{[Link](0);}
if([Link]()==MenuItem_Cor_Amarela)
{getContentPane().setBackground([Link]);}
if([Link]()==MenuItem_Cor_Azul)
{getContentPane().setBackground([Link]);}
if([Link]()==MenuItem_Cor_Verde)
{getContentPane().setBackground([Link]);}
if([Link]()==MenuItem_Cor_Vermelho)
{getContentPane().setBackground([Link]);}
}
16
Link para o arquivo
[Link]
17
Cores no Java
O meio mais simples de utilizar uma cor em um
programa Java é usar uma das variáveis
constantes da classe Color. Você pode utilizar as
seguintes constantes: white
18
Cores no Java
Opções de cores primárias no Java
[Link] [Link]
[Link] [Link]
[Link] [Link]
[Link] [Link]
[Link] [Link]
[Link] [Link]
19
Exemplo do uso de cores
JPanel Painel_Central = new JPanel();
Painel_Central.setBackground([Link]);
20
Ainda sobre cores...
Outro método de definir cores em Java é
utilizando valores RGB (Red Green Blue), ou seja,
você especifica valores de 0 a 255 para cada uma
dessas cores, formando novas cores.
Se você conhece os valores RGB de uma cor, pode
usá-los para criar um objeto Color.
Por exemplo, um valor RGB para vermelho-escuro
é 235 vermelho, 50 verde e 50 azul.
21
JFrame Tela_Principal = new JFrame();
Color vermelhoEscuro =
newColor(235,50,50);
Tela_Principal.setColor(vermelhoEscuro);
Tela_Principal.setSize(400, 579);
Tela_Principal.setVisible(true);
22
Código completo
import [Link].*;
import [Link].*;
public class Tela07
{
JPanel Painel_Central = new JPanel();
public Tela07()
{
JFrame Tela_Principal = new JFrame();
Color vermelhoEscuro = new Color(235, 10, 10);
Tela_Principal.getContentPane().add(Painel_Central);
Painel_Central.setBackground(vermelhoEscuro);
Tela_Principal.setSize(400, 579);
Tela_Principal.setVisible(true);
}
public static void main (String args [])
{new Tela07();}
} 23
E assim ficou nosso programa
24
Lembramos que ao alterar apenas
um dos números da cor resultará
em algo bem diferente
25
Alterando a cor teremos:
Color vermelhoEscuro = new Color(80, 10, 255);
26
JToolBar
• Agrupa vários componentes em linha ou coluna.
• Geralmente botões com ícones.
• Funcionalidade de menus.
• Possibilidade de arrastar a barra para qualquer
borda ou para fora da janela
• Necessário uso de BorderLayout
27
JToolBar
CONSTRUTOR:
JToolBar Barra_de_Ferramentas = new JToolBar();
28
Meu Exemplo
29
Meu código
Declaração da Barra de
Ferramentas
30
Fazendo a instancia dos botões e
adicionando na Barra de ferramentas
Barra_de_Ferramentas.add(bt_Novo =
new JButton(new ImageIcon("[Link]")));
Barra_de_Ferramentas.add(bt_Abrir =
new JButton(new ImageIcon ("[Link]"));
Barra_de_Ferramentas.add(bt_Salvar =
new JButton(new ImageIcon ("[Link]")));
Barra_de_Ferramentas.add(bt_Copiar =
new JButton(new ImageIcon ("[Link]")));
Barra_de_Ferramentas.add(bt_Colar =
new JButton(new ImageIcon ("[Link]")));
Barra_de_Ferramentas.addSeparator();
Barra_de_Ferramentas.add(bt_Imprimir = new JButton(new ImageIcon
("[Link]")));
31
Fazendo a instancia dos botões e
adicionando na Barra de ferramentas
Barra_de_Ferramentas.add(bt_Imprimir
= new JButton(new ImageIcon("[Link]")));
Barra_de_Ferramentas.add(bt_Alinhamento_Esquerda
= new JButton(new ImageIcon ("alinhamento_esquerdo.png" )));
Barra_de_Ferramentas.add(bt_Alinhamento_Direita
= new JButton(new ImageIcon("alinhamento_direito.png")));
Barra_de_Ferramentas.add(bt_Alinhamento_Justificado
= new JButton(new ImageIcon("alinhamento_justificado.png")));
Barra_de_Ferramentas.add(bt_Alinhamento_Centralizado
= new JButton(new ImageIcon ("alinhamento_centralizado.png"))) ;
Barra_de_Ferramentas.add(bt_Sair = new JButton(new ImageIcon("[Link]")));
32
Tornando estes botões sensíveis ao click do
mouse
bt_Novo.addActionListener(this);
bt_Abrir.addActionListener(this);
bt_Salvar.addActionListener(this);
bt_Salvar_Como.addActionListener(this);
.
.
.
33
O tratamento dos eventos também é feito
através do ActionListener
bt_Sair.addActionListener(this);
bt_Alinhamento_Esquerda.addActionListener(this);
bt_Alinhamento_Direita.addActionListener(this);
bt_Alinhamento_Justificado.addActionListener(this);
bt_Alinhamento_Centralizado.addActionListener(this);
bt_Imprimir.addActionListener(this);
bt_Copiar.addActionListener(this);
bt_Colar.addActionListener(this);
34
No public void actionPerformed(ActionEvent e)
Estes botões aqui serão tratados
como botões ou menu normais
35
A barra poderá ser deslocada com o mouse
Barra no rodapé
Barra a Esquerda 36
A barra poderá ser deslocada com o mouse
Barra Flutuante
Barra a direita 37
Mas por padrão ela é na parte superior da
tela
38
O JTextArea
É um componente do tipo Caixa de texto, só
que, diferentemente do JTextField, no JTextArea
teremos linhas e colunas.
39
CONSTRUTOR DO JTEXTAREA
QUANTIDADE DE LINHAS E
COLUNAS QUE ESTA CAIXA
TERÁ.
JTextArea ta_MeuTexto = new JTextArea(Linhas, Colunas);
NOME DO OBJETO
40
Construtor do JScrollPane
41
Ver arquivos
• [Link]
• [Link]
42
ATIVIDADE DE HOJE
ELABORE UMA TE COM OS SEGUINTES COMPONENTES:
• UMA BARRA DE MENU (ARQUIVO, CONFIGURAÇÕES E
AJUDA)
• UMA BARRA DE FERRAMENTAS COM OS BOTÕES (NOVO,
GRAVAR, AJUDA, LIMPAR E SAIR)
• UMA CAIXA DE TEXTOS (JTextArea) com 10 linhas e 50
colunas
• Um botão Novo, um botão Limpar, e um botão sair abaixo
da caixa de textos.
• Verifique se aqui será melhor usar pack() ou o método
setSize para definir o tamanho da sua tela. 43
ATIVIDADE DE HOJE
• Verifique se aqui será melhor usar pack() ou o
método setSize(Largura, Altura) para definir o
tamanho da sua tela.
• Faça o tratamento de eventos para os
principais botões e menus (Limpar e Sair são
essenciais).
44