campo de texto - Prof. Bruno Gomes

Propaganda
Aula 15 – Interface Gáfica
Disciplina: Programação Estruturada e Orientada a Objetos
Prof. Bruno Gomes
http://www.profbrunogomes.com.br/
Agenda da Aula

Interface gráfica em Java:

Swing.
Java Foundation Classes

Coleção de pacotes para criação de aplicações
completas Desktop:



Servem para construir Interfaces Gráficas com o
Usuário (GUIs - Graphical User Interface);
Funcionalidade e interatividade.
Disponibiliza duas bibliotecas de interface gráfica:


AWT;
Swing.
Swing

Biblioteca oficial da Java GUI


Principais Características:






javax.swing.*
Independente de plataforma;
Personalizável;
Extensível;
Configurável;
Leve.
A principal vantagem de utilizer swing é que a aplicação
terá a mesma interface e comportamento (Look and
Feel) em qualquer sistema operacional.
Swing e AWT
Swing - Container

Todo programa que usa Swing deve ter pelo
menos um componente do tipo container.
Descendentes da classe java.awt.Container;
 Componentes
que podem conter outros
componentes;
 Oferece suporte para desenho e tratamento de
eventos.

Containers “top level”

Provê o suporte que os componentes swing
necessitam para realizar o desenho da tela e o
tratamento de eventos.

JFrame:


JDialog:


Objeto que implementa janela principal;
Objeto que implementa janela secundária;
JApplet:

Objeto que implementa uma área de visualização de applets
em browsers.
JFrame

Um frame é uma janela, onde podemos definir:





Um título;
Botões de minimizar, maximizar ou fechar;
Menus;
Barras de rolagens.
Entre outros.

Aplicações com uma GUI usam, tipicamente, pelo menos um
frame;

É a base de tudo, ele armazena e exibe as coisas:
 Como se fosse uma moldura para fotos, você encaixa a
foto (conteúdo) nele.
Criando um projeto gráfico
No netbeans, criar um projeto “Aplicação Java”;
 Adicionar ao projeto um “Form JFrame”.


Praticando:


Adicionem um “Form JFrame” com o nome de:
Principal, dentro do pacote: ifrn.aula.poo.gui
Executem o JFrame.
Tela do Netbeans
Acessando as Propriedades do
JFrame
Propriedades Importantes








defaultCloseOperation
title
cursos
maximumSize
minimumSize
name
preferredSize
resizable
Visualizando o código do
JFrame
Inserindo conteúdo no
JFrame

O JFrame é apenas a moldula da janela, para
inserir algum conteúdo é necessário outro
compronente chamado JPanel.

O JPanel é o “painel” que ficará na moldura, e
fica responsável por receber os componentes
que a tela terá (campos de textos, botões,
imagens, entre outros).

Os components em java são derivados da Classe
JComponents.
JPanel

Observação:

É possível colocar um JPanel em um JFrame, depois
tirar e colocar outro no lugar dele; É possível pegar o
mesmo JPanel e colocar em outro JFrame, e assim vai.
Inserindo um JPanel
Redimencionando o Jpanel
para o tamanho do JFrame
Visualizando Componentes
Inserindo Componentes
Os compnentes serão inseridos no JPanel;
 São derivados da Classe JComponents;
 Local no Netbeans:

Exemplos de Componentes
Componente
Descrição
JLabel
Área em que podem ser exibidos texto não-editável ou ícones
JTextField
Área que se insere dados pelo teclado. Pode também exibir
informações
JButton
Área que aciona um evento quando você clica
JCheckBox
Compontente GUI que tem dois estados: selecionado ou nãoselecionado
JComboBox
Lista de itens a partir do qual o usuário pode fazer uma seleção
clicando em um item na lista ou digitando na caixa, se permitido
JList
Área em que uma lista de itens é exibida. O usuário pode fazer
uma seleção clicando uma vez em qualquer elemento na lista.
JPanel
Container em que os componentes podem ser colocados
JLabel
Também conhecidos como rótulos;
 Fornecem instruções de texto ou informações em
uma GUI;
 Classe JLabel:



Subclasse de JComponent.
Exibe:



Uma única linha de texto somente de leitura;
Uma Imagem;
Ou texto e imagem.
Inserindo um JLabel
Propriedades

text:


Nome que será exibido na janela;
Mudar para: “Nome:”
Prática

Insira outro Jlabel abaixo do já inserido, e mude
o texto para:

“Senha”.
JTextField e JPasswordField

São áreas de uma única linha em que o usuário
insere texto pelo teclado, ou simplesmente serve
para exibir texto;


Entrada de dados.
JPasswordField oculta os caracteres assumindo
que eles representam uma senha.
No Netbeans

Inserir um campo de texto para o nome, e
campo de senha para a senha.
Propriedades

text:


Texto que será exibido dentro do campo de texto;
Apagar o texto e deixar vazio.
JButton

Botão em que o usuário clica para disparar uma
ação específica:




Botões de comando;
Caixas de marcação;
Botões de alternância;
Botões de opção.
Inserindo um JButton

Clicar e arrastar um Botão.
Propriedades

text:


Texto que será exibido no botão;
Mudar para: “Autenticar”
Mudando o nome da variável que
contém o objeto criado



Selecione o campo de texto;
Próximo à “Propriedades”, clique em “Código”;
Depois mude a propriedade “Nome da Variável”.
Mudando o nome da variável que
contém o objeto criado

Mudar o nome da variável dos campos:


Campo do nome: “nome”
Campo da senha: “senha”
Adicionando ação ao botão


Para que o Sistema reconheça uma ação ao clicar no
botão, basta dar 2 cliques sobre o botão (no modo
Projeto do netbeans).
Um método de ação deste botão será criado
automaticamente, e o código será exibido no local exato,
para que possa implementar a ação desejada.
Recuperando o texto dos campos
Através do método getText();
 No método que foi criado do botão, inserir o
código:

System.out.println(nome.getText());
System.out.println(senha.getText());
Executar o Sistema, digitar um nome e uma
senha, e depois clicar no botão Autenticar.
 Observar o console do netbeans.

Componente JOptionPane

Caixas de dialogo usadas para informar algo, ou mesmo
para entrada e saída de dados.

Tipos:
Método
Descrição
showConfirmDialog
Pergunta uma confirmação, como sim/não/cancelar
showInputDialog
Solicita um valor de entrada
showMessageDialog
Informa ao usuário alguma coisa que aconteceu
showConfirmDialog

Importar javax.swing.JOptionPane
JOptionPane.showConfirmDialog
(null, "Mensagem que será
exibida");
JOptionPane.showConfirmDialog(null,
"Mensagem que será exibida",
"Mensagem do Título",
JOptionPane.YES_NO_CANCEL_OPTION );
JOptionPane.showConfirmDialog(null,
"Mensagem que será exibida",
"Título da Caixa de Dialogo",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE) ;
showConfirmDialog

Recuperando a opção escolhida:

Retorna um inteiro:



Sim – 0
Não – 1
Cancelar – 2
int opcao = JOptionPane.showConfirmDialog(null,
"Mensagem que será exibida");
showInputDialog

Importar javax.swing.JOptionPane
JOptionPane.showInputDialog("Mensage
m que será exibida");
JOptionPane.showInputDialog(null,
"Mensagem que será exibida",
"Mensagem do Título",
JOptionPane.INFORMATION_MESSAGE);
JOptionPane.showInputDialog(null,
"Mensagem que será exibida",
"Mensagem do Título",
JOptionPane.ERROR_MESSAGE);
showInputDialog

Recuperando o que foi digitado:

Retorna um String;
String nome = JOptionPane.showInputDialog(null,
"Mensagem que será exibida",
"Mensagem do Título",
JOptionPane.INFORMATION_MESSAGE);
showMessageDialog

Importar javax.swing.JOptionPane
JOptionPane.showMessageDialog(null,
"Mensagem que será exibida");
JOptionPane.showMessageDialog(null, "
Mensagem que será exibida",
“Mensagem do Título",
JOptionPane.ERROR_MESSAGE);
Dúvidas?
Atividade

Utilizando a interface de autenticação criada:
Ao clicar no botão “Autenticar”, exibir uma caixa de
confirmação, perguntando ao usuário se ele deseja
continuar.
 Se clicar em “Sim”, verificar os dados:



Usuário: aluno
Senha: 12345
Se ele digitou o usuário e a senha correta, aparecer uma
janela de mensagem informativa avisando que o usuário
está autenticado;
 Se digitou errado, exibir uma caixa de mensagem de erro
informando que o usuário não está autenticado, e que ele
tente novamente.

Download