AULA:
Interfaces Gráficas em Java (+ Strings)
Programação Orientada a Objetos
Alba Lopes, Profa.
http://docentes.ifrn.edu.br/albalopes
[email protected]Pacotes da API Java
A Java API (Application Programming Interface - ou Interface de
Programação de Aplicações) oferece uma rica coleção de classes e métodos
para:
realizar cálculos matemáticos comuns
manipular strings
verificação de erros
Construção de interfaces gráficas, etc
Muitas
classes já são predefinidas, agrupadas em diretórios no disco, que
podemos nos referir como pacotes
Alba Lopes, Profa.
[email protected]Pacotes da API Java
Parautilizar uma classe já existente na API Java, devemos utilizar uma
instrução do tipo import.
Porexemplo: para utilizar a classe Scanner, do pacote java.util, devemos
fazer:
import java.util.Scanner;
Um grande poder de Java é a grande quantidade de classes nos pacotes da
Java API que os programadores podem reutilizar ao invés de construir do
zero.
Você pode consultar a lista dos pacotes da API Java visitando o endereço:
http://docs.oracle.com/javase/6/docs/api/
Alba Lopes, Profa.
[email protected]Java Swing
A biblioteca Swing faz parte do pacote javax.swing
Possui um Conjunto de componentes GUI (Graphical User Interface) que
simplificam o processo de desenvolvimento de interfaces gráficas
botões, caixas de texto, painéis, rótulos e todos os outros componentes gráficos
Alba Lopes, Profa.
[email protected]Primeiro Exemplo
Crie um novo pacote com o nome aula08
Crie um arquivo OlaMundo.java que possua o seguinte código:
Salve e aperte
SHIFT+F6 para
executar
Alba Lopes, Profa.
[email protected]Componente JOptionPane
Utilizamos
o método showMessageDialog da classse JOptionPane para exibir
mensagens na tela
Para
entrada de dados, o método a ser utilizado é o
JOptionPane.showInputDialog.
Esse método solicita um parâmetro e retorna o valor digitado pelo usuário
Alba Lopes, Profa.
[email protected]Componente JOptionPane
O valor recebido com o JOptionPane é sempre do tipo String! Porém, é
possível realizar a conversão de tipos.
Convertendo para inteiro
String texto = JOptionPane.showInputDialog(“Digite um número
inteiro:”);
int x = Integer.parseInt(texto);
Convertendo para float
String texto = JOptionPane.showInputDialog(“Digite um número float:”);
float y = Float.parseFloat(texto);
Convertendo para double
String texto = JOptionPane.showInputDialog(“Digite um número double:”)
double z = Double.parseDouble(texto);
Alba Lopes, Profa.
[email protected]Componente JOptionPane
Exemplo Soma:
Alba Lopes, Profa.
[email protected]Exercícios
1. (AreaRetangulo.java) Calcular e mostrar o valor da área de um retângulo
dado o valor dos dois lados. A área do retângulo é calculada pela fórmula
areaRetangulo = lado1 * lado2
2. (Imc.java) Faça um programa que leia o peso e a altura de uma pessoa e
mostre o índice de massa corporal (IMC). O IMC é calculado da seguinte
forma:
imc = peso / (altura * altura)
Alba Lopes, Profa.
[email protected]Classe String
Stringé uma classe JAVA que faz parte do pacote
java.lang.String
São tratadas como se fossem tipos primitivos (como int, float, boolean)
São criadas de duas formas
Através de construtores
Através da atribuição de um literal
Alba Lopes, Profa.
[email protected]Classe String
O operador de concatenação (+) é utilizado para unir String
Alba Lopes, Profa.
[email protected]Classe String
String são comparadas através do método .equals()
Alba Lopes, Profa.
[email protected]Classe String
Retornar o tamanho da string: .length()
Retorna o índice do caractere c: indexOf(char c)
As strings começam a contar do caractere 0:
N o v a C r u z
0 1 2 3 4 5 6 7 8
Alba Lopes, Profa.
[email protected]Classe String
Retorna o caractere na posição indicada: .charAt(int posicao)
Alba Lopes, Profa.
[email protected]Classe String
Outros métodos
toLowerCase()
Retorna nova String toda minúscula
toUpperCase()
Retorna nova String toda maiúscula
trim()
Retorna nova String sem os espaços no inicio e fim
compareTo()
Compara duas strings. Retorna: 0 se as strings forem iguais; valor maior do que 0 se a string for maior; valor menor que 0 a
string for menor.
compareToIgnoreCase(String str)
Compara duas strings ignorando maiúsculas e minúsculas.
Alba Lopes, Profa.
[email protected]Classe String
Outros métodos
replace(char caractere_antigo, char novo_caractere)
Retorna uma nova string substituindo todas as ocorrências do caractere_antigo pelo caractere_novo
substring(int inicio, int fim)
Retorna uma nova string que é parte da string original, delimitada pelos índices passados como parâmetro.
Consulte a API para ver os outros métodos
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html
Alba Lopes, Profa.
[email protected]Exercícios
3. (Maiusculo.java) Receba o nome do usuário através de uma caixa de
diálogo e apresente o valor lido todo em letras maiúsculas.
4. (Substituir.java) Leia uma frase do usuário e substitua onde o usuário tiver
digitado a letra “a” por um @.
Alba Lopes, Profa.
[email protected]Swing
Hámuitos componentes disponíveis na biblioteca Swing para geração de
interface gráfica.
É possível gerar aplicações simples e elaboradas
Alba Lopes, Profa.
[email protected]Swing – Componente JFrame
O Componente JFrame é o componente de formulário.
Os formulários em Java que iremos construir, herdarão da classe JFrame.
Esse
componente é que irá armazenar todos os componentes visuais
necessários em nossa aplicação.
Alba Lopes, Profa.
[email protected]Swing – Componente JFrame
O código fonte referente a essa aplicação será algo como:
Alba Lopes, Profa.
[email protected]Swing – Componente JFrame
Felizmente, o NetBeans nos oferece mecanismos de criarmos facilmente
aplicações que utilizam interface gráfica
Sigao passo a passo do Tutorial 01 no site da disciplina para criar seu
primeiro projeto usando formulário JFrame.
Alba Lopes, Profa.
[email protected]Referências
DEITEL. Java - Como Programar. 6ª Edição. Editora Pearson.
Na internet
http://java.sun.com/products/jfc/reference/faqs/index.html
Metrópole Digital - http://www.metropoledigital.ufrn.br/aulas_avancado/web/disciplinas/desktop
Netbeans – Introdução à Construção de GUIs - http://netbeans.org/kb/docs/java/gui-
functionality_pt_BR.html
Alba Lopes, Profa.
[email protected]