0% acharam este documento útil (0 voto)
6 visualizações

Manual de Java Modulo2

Enviado por

BRANCO
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
6 visualizações

Manual de Java Modulo2

Enviado por

BRANCO
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 38

IF´S – Informática Formação e Serviços, Lda.

Curso de Programação Em JAVA

MÓDULO 2

Curso de Programação Em Java Versão 2007 1


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

PARTE 1:

1.1 - Introdução aos conceitos de class e construtores

O Java é uma linguagem de programação orientada a objectos como disse na introdução


do curso, para tal usa o conceito de class:

O conceito de class é um dos maiores motivos ou suporte dos tipos de dados


estruturados. Um objecto é uma instância de uma class. Em termos de programação a class seria
o tipo e objecto seria uma variável do tipo desta class. Para se criar uma instância de uma class
em Java usa-se o operador new.

Os construtores como o próprio nome diz, servem para construir as classes; as variáveis
devem ser inicializadas e as instâncias das class devem alocar um espaço de memória para a sua
execução para tal é preciso um construtor. Uma class pode ter vários construtores desde que
sejam diferentes quanto aos parâmetros que recebem. Quando instanciamos uma class,
chamamos um dos seus construtores o qual terá a responsabilidade de construir ou arranjar os
componentes nele inseridos e alocar o espaço de memória necessário para a execução do
programa.

Nota: Os construtores também são métodos mas só que devem ter o mesmo nome que
as classes em que pertencem e não têm tipo de retorno. As classes por sua vez devem ter o
mesmo nome do ficheiro “.Java”. Para declarar uma class usa-se a sintaxe que está depois do
ATT:

ATT: As classes podem herdar de outras classes através do operador extends e ao


herdarem de outras, a class descendente pode usar todos os métodos, construtores e variáveis da
class mãe e como não deixaria de ser assume as mesmas características da class mãe. Todas as
classes em Java descendem directa ou indirectamente da class object

< public> class <NomeDaClass>


{
//Corpo da class
}

ATT: Os nomes das classes devem aconselhavelmente começar com letra maiúscula
contrariamente aos métodos e variáveis, devendo também seguir as regras dos identificadores
vistas no modulo1 .

Curso de Programação Em Java Versão 2007 2


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Exemplo de declaração de uma class em Java:

Como pode ver no exemplo a cima, toda class começa e termina com uma chaveta,
assim como os métodos e os construtores, por tanto, não se esqueça de fechar a chaveta assim
que abrir para evitar erros de compilação.

1.2 - Atributos de uma class

As classes estão compostas por métodos, construtores e atributos. Todos estes em


conjunto formam uma class. Todas as variáveis ou objectos que declaramos como globais à
class são chamadas de atributos desta class e devem aconselhavelmente serem declaradas como
private, salvo excepções.

1.3 - Tipos de class

Quanto a forma de acesso, podemos dizer que existem vários tipos de class em Java:
abstract, final, static, private e protected que passarei a descrever de seguida:

As classes abstractas são aquelas que são construídas especialmente para serem
estendidas ou herdadas por outras subclasses, é o caso da class Object na qual todas as classes
do Java descendem implicitamente. Com este propósito, as classes abstractas não devem ser
instanciadas mas sim herdadas.

As classes constantes (final), como o nome diz são constantes ao longo da execução do
programa, assim como as variáveis constantes vistas atrás. Todos os métodos destas classes são
implicitamente constantes também pelo que não podem ser acedidos fora da class mãe.

As classes staticas (static), são praticamente idênticas às finais, não aceitando


alterações ao longo da execução do programa. Para mais detalhes sobre a diferença entre estes

Curso de Programação Em Java Versão 2007 3


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

tipos de classes consulte o goole.com e não se esqueça que veremos estes conceitos ao longo do
curso.

Exemplos de declaração de classes.

As declarações protected class e static class só são aceites se forem feitas dentro de uma outra
class.

NOTA: Numa class publica podem existir varias classes internas, desde que estejam todas bem
documentadas.

A forma de declaração de class depende das necessidades do programador.

ATT: Os construtores também podem ser public ou protected, onde public significa que pode
ser acedido por qualquer class ou método dentro ou fora da própria class, e protected
significando que este só pode ser acedido pelas classes que pertencem ao mesmo pacote.

Curso de Programação Em Java Versão 2007 4


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Por exemplo:

Como pode ver dentro da class ExemploClass tem mais duas classes internas e poderia ter mais
quantas quiséssemos.

NOTA: Para criar uma instância de um class use a palavra reservada new.

Ex: JButton bt = new JButton (“JAVA”);

1.4 - Métodos set, get e toString

Dum modo geral, as classes usam estes três métodos para manipularem os seus atributos. O
método set geralmente é void e recebe sempre 1 parâmetro para actualizar o valor de um dos
atributos. O método get serve geralmente para devolver o valor actual de 1 dos atributos da class
e não recebe nenhum parâmetro, enquanto que o método toString, é no fundo a junção de todos
os get da class em que são concatenados todos os valores actuais de todos os atributos da class
numa única string.

NOTA: Não se esqueça de usar o método get sempre que quiser devolver o valor actual de um
dos atributos, o método set sempre que quiser actualizar o valor de um dos atributos e o método
toString sempre que quiser mostrar os valores actuais dos atributos de uma class.

Curso de Programação Em Java Versão 2007 5


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Exemplos usando estes métodos:

Curso de Programação Em Java Versão 2007 6


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Este programa mostra uma mensagem com os dados inseridos concatenados numa string através
do método toString.

1.5 - Resumo

Nesta 1ª parte do 2º modulo vimos alguns dos mais importantes conceitos do Java, os quais terá
oportunidade de ver e usar sempre que estiver a programar.
Analise cada linha do programa anterior que é uma simulação do cadastro de uma pessoa onde
podemos ver a utilização dos métodos set, get e toString.
Estes método são bastante importante por isso deverá estudá-los bem.

Curso de Programação Em Java Versão 2007 7


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

1.6 - Exercícios

1. Pegue no programa anterior e usando os métodos set, altere os dados de “Osvaldo”,


“Luanda”, 15 para os seus dados Pessoais.

2. Fazer um exercício idêntico ao anterior, com os campos de um BI.

PARTE2:

2-1 - Aplicações da class String e seus métodos

Por ser uma class de muita utilidade, vamos reservar algumas linhas a mais para lhe falar da
class String e dos seus fantásticos métodos e construtores.

Esta é uma das mais importantes classes do Java porque a interacção entre os usuários e os
programas (entrada e saída de dados) é feita com Strings tanto na consola, através do método
System.out.println (String) como nas caixas de texto através dos medos showMessageDialog e
showInputDialog da class JOptionPane que recebem como parâmetro uma String, sem esquecer
a class JTextField que também permite entrada de dados do usuário.

Quando solicitamos um valor (long, int, double, char, etc.) ao utilizador estes são tratados em
forma de Strings devendo depois serem convertidos para os respectivos tipos através dos
métodos responsáveis por isso, exemplo Integer.parseInt, Long.parseLong,
Double.parseDouble, etc.

Por ser uma herança do C, o Java também considera uma String como sendo um Array de
caracteres dispostos numa locação contigua de memória em que as posições variam de 0 à n-1.
Para se adquirir um carácter de uma String usa-se o método charAt (posição) da class String.

Exemplo:
String nome = “Osvaldo”;
char ch = nome.charAt(3); //neste caso a variável ch contem o valor ‘a’

# Podemos também aceder a apenas um subconjunto da String através do método


substring.

Exemplo:
String nome = “Osvaldo Ramos”;
String apelido = nome.substring (7, nome.length); // “Ramos”

# Quando digitamos um nome por exemplo numa caixa de texto as vezes colocamos
espaços em branco antes ou depois do nome, como o espaço também é um carácter, as vezes
isto cria alguns problemas na manipulação das Strings, por exemplo se antes de colocarmos um
número numa caixa de texto colocamos 1º um espaço em branco, dá-nos um erro de conversão
numérica por causa do espaço inserido. Para evitar estes e muitos outros transtornos, a class
String disponibiliza-nos o método trim que elimina todos os espaços em branco antes e depois
dos dados úteis.

Curso de Programação Em Java Versão 2007 8


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

# A class String tem também no conjunto dos seus fantásticos métodos, o método replace.
Este método recebe 2 parâmetros o 1º é o carácter a ser substituído e o 2º é o seu substituto, este
método substitui todas ocorrências de um carácter numa String por um outro.

Exemplo:
String str = “ABACATE”;
str.replace (‘A’, ‘I’); // resultado = “IBICITE”;

ATT: Para concatenar ou unir Strings usa-se o operador ‘+’. É muito simples a concatenação de
Strings, se isso lhe fazia confusão então preste atenção:

Como sabemos uma String é representada por duas aspas (“ String ”), quer dizer então que se
abrirmos uma aspa, assim que encontrar outra o compilador considera que esta seja o par da
outra e sub entende que a String terminou. e se quiser continuar deve colocar um mais (+) para
indicar ao compilador que deseja acrescentar mais algo à String anterior.

Exemplo:
Strimg msg = “WellCome” + “ To Java” + “ World” + “\n”;
Resultado final = “WellCome To Java World”;

Como pode ver no exemplo anterior, temos 4 String concatenadas o que indica a utilização de 3
separadores (+), a ultima String “\n” é equivalente a um <Enter>, ou seja, serve para mudar de
linha. Faça mais exercícios idênticos para ver que isto é fácil.

# Para terminar, vou falar-lhe também do método valueOf da class String que converte
um Objecto em String.
Exemplo: String.valueOf (55); // Resultado “55”

Como viu o número 55 foi convertido para String e o mesmo pode acontecer para outros tipos
de dados.

Curso de Programação Em Java Versão 2007 9


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

2.2 - Exemplos de Manipulação de Strings

1.

Neste exemplo usamos o método substring que no caso concreto nos devolveu o apelido. O
método length devolve o tamanho string, não coloquei o -1 porque o método substring já faz
isto por nós.

Curso de Programação Em Java Versão 2007 10


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

2.

Neste exemplo fez-se o uso do método replace que foi chamado por duas vezes nas linhas 17 e
19 respectivamente, 1º para substituir todas ocorrências de ‘a’ por ‘o’ e depois para substituir
todas ocorrências de ‘v’ por ‘g’.

Vamos agora aperfeiçoar mais um pouco o programa anterior, veja com atenção:

Curso de Programação Em Java Versão 2007 11


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

3.

Curso de Programação Em Java Versão 2007 12


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Neste exemplo usamos os métodos replace já visto no exemplo anterior, sustring para retornar
uma nova string que no caso concreto é “Jogo” e toUpperCase para converter a String Jogo em
maiúsculas.

Analise estes exemplos com muita calma e faça algumas alterações para ver se de facto
entendeu.
ATT: Antes de terminar o capítulo de strings, vou deixar-lhe uma Nota muito importante.
Preste atenção:
Nota: Para comparar duas Strings não deve usar o operador de igualidade (=) mas sim
os métodos compareTo e compareToIgnoreCase que recebem uma string como parâmetro e
devolvem zero se ambas forem iguais, um numero negativo se o parâmetro for menor e um
numero positivo se o parâmetro for maior, a diferença entre os dois métodos é que o 1º faz a
distinção entre caracteres maiúsculas e minúsculas e o 2º não. Pode ainda usar os métodos
equals ou equalsIgnoreCase que recebem ambos um Objecto como parâmetro e devolvem
true ou false de acordo com o resultado da comparação.

Exemplo:
if ( str1.equals(str2) )
return true;
else
return false;

ou ainda

if (str1.compareTo(str2) = = 0 )
return true;
else
return false;

ou ainda

if (str1.compareToIgnoreCase(str2) = = 0 )
return true;
else
return false;

Os três pedaços de código verificam se str1 é ou não igual a str2

2.3 - Resumo

Como o caro leitor teve oportunidade de ver, a class String tem bastante importância para o
mundo da programação particularmente para o Java.
Mais exemplos com certeza terão oportunidade de ver ao longo do curso.
Explore bem a class String (Construtores e métodos) que com certeza não se arrependerá.
Espero que a partir de agora não seja mais novidade quando ouvir falar de strings.

2.4 - Exercícios

1. Sabendo que s1 = “AbC” e s2 = “ABC” Diga qual o resultado dos seguintes comando:

Curso de Programação Em Java Versão 2007 13


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

a. s1.equals(s2);
b. s1.compareTo(s2);
c. s1.equalsIgnoreCase(s2);
d. s1.compareToIgnoreCase(s2);

2. Fazer um método que recebe uma String e um caracter oldChar e outro carácter
newChar e substitui todas do carácter oldChar por newChar. O método não devolve
nada.

3. Repetir o exercício anterior para um método recursivo. (pode vir na Prova)

4. Fazer um método que pede duas strings ao utilizador e diz qual delas é maior.

5. Fazer um método que solicita um texto ao utilizador e mostra o texto 1º em maiúscula e


depois em minúscula.

6. Fazer um programa que pede varias string ao utilizador e depois mostra numa TextArea
somente as strings que começam com uma determinada letra também inserida pelo
usuário.

7. Refaça o programa anterior mostrando apenas as string que terminem com uma
substring inserida pelo utilizador.

PARTE3:

3.1 - Componentes Ligadas ao Utilizador(Interface Gráfica)

Como disse no início, o Java é uma linguagem de programação orientada a objectos, objectos
estes que permitem-nos fazer interfaces para interacção com o utilizador.

Você com certeza já teve oportunidade de ver nos bancos, lojas, e muitas outras instituições
com sistema informático de qualidade que os utilizadores interagem com os aplicativos através
de interfaces gráficas.

Uma interface não é mais do que uma “Janela” que permite a interacção entre os programas e os
seus utilizadores. Até uma caixa de texto é uma interface porque permite a interacção com o
utilizador enviando sempre uma mensagem.

Uma interface pode ser um formulário, um menu ou mesmo uma caixa de mensagem.

Para a construção de interfaces gráficas, o vamos usar três class: JFrame, JWindow e JDialog,
que pertencem ao pacote javax.swing.*;

Neste capítulo, o último do 2º modulo vamos ver como o Java permite-nos interagir com os
utilizadores dos nossos aplicativos e você verá a grande potencialidade do Java. É aqui que
começa o Java propriamente dito!...

Curso de Programação Em Java Versão 2007 14


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

3.2 - Gerênciadores de Layout

Uma interface é composta de componentes, estes componentes devem ser devidamente


organizados na nossa interface. O elemento encarregue por gerir ou organizar os componentes
de uma interface ou mesmo de um painel, chama-se em Java de Gerênciador de Layout.

Existem vários tipos de Gerenciadores de layout como por exemplo: FlowLayout, GridLayout,
BorderLayout, GridBagLayout, CardLayout etc. A utilização de um ou de outro depende das
necessidades do programador uma vez que cada um tem as suas vantagens e desvantagens.

Vou antes frisar que o FlowLayout, organiza os componentes de acordo com o tamanho do
objecto que ele vai gerir, podendo então dispor os componentes as vezes na horizontal e as
vezes na vertical ou mesmos nas duas direcções.

A class GridLayout tem três construtores sendo o mais usado aquele que recebe dois
argumentos indicando o número de linhas e colunas respectivamente. Este Gerênciador organiza
os componentes de acordo com o número de linhas e colunas especificados pelo programador,
sendo também a organização de cima para baixo e da esquerda para direita como pode ver na
figura a baixo, onde temos três linhas e duas colunas:

o BorderLayout é um gerênciador muito potente, permitindo que os componentes sejam


organizados de acordo com as coordenadas polares (Norte, Sul, Este e Oeste). Veja a figura a
baixo:

Curso de Programação Em Java Versão 2007 15


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Os restantes gerênciadores por falta de tempo não vamos vê-los ao longo do curso mas se quiser
pode consultá-los.

NOTA: Todos estes gerênciadores de layout encontram-se no pacote Java.awt.*; por isso não se
esqueça de fazer o respectivo import sempre que desejar usá-los.

De agora em diante, terá oportunidade de ver a utilização dos gerênciadores de layout.

Curso de Programação Em Java Versão 2007 16


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

3.3 - JComboBox, JList, JRadioButton, JCheckBox e outros

Estes 4 componentes do pacote javax.swing fazem confusão a muita gente sobre quando usar
um ou outro.

# JComboBox & JList

NOTA: usa-se uma JComboBox quando temos um conjunto de opções mas só


queremos que se seleccione uma de cada vez, por exemplo se tivermos uma lista de todas as
províncias de Angola e pedimos para que alguém escolha a sua naturalidade, não podemos
admitir que este escolha duas províncias porque é lógico que ninguém nasce em duas províncias
ao mesmo tempo. Se pelo contrario tivermos uma lista de vários produtos de um Supermercado
já podemos pedir a um cliente para que seleccione os produtos que ele deseja comprar, para
estes casos em que podemos seleccionar mais de uma opção em simultâneo, usa-se uma JList
caso contrário devemos mesmos usar uma JCombobox.

# JRadioButton & JCheckBox

Esta é uma situação idêntica à anterior só que se tratam de objectos diferentes. Usa-se
JRadioButton quando só podemos escolher uma entre varias opções (como uma JComboBox)
por exemplo no acto da escolha do sexo não de pode admitir que alguém escolha em simultâneo
o sexo masculino e feminino mas podemos por exemplo permitir que um estudante escolha num
conjunto de disciplinas as que ele vai se inscrever. No 1º caso usamos JRadioButton e no 2º
caso usamos JCheckBox.

Todos estes componentes encontram-se no pacote javax.swing por isso não se esqueça de fazer
o respectivo import antes de usá-los.

Terá também oportunidade de ver a utilização destes componentes e espero que não faça mais
confusão na utilização destes componentes.

3.4 - Construção de Interfaces Gráficas

Agora chegamos na parte mais importante deste 2º modulo e por favor aproveite esta
oportunidade para aprender a fazer interfaces em pouco tempo.

1. Vamos começar pela interface mais simples e depois vamos evoluindo aos poucos.
Neste primeiro exemplo vamos apenas desenhar uma interface com 5 botões usando o
BorderLayout e espalhando as componentes nos 5 pólos possíveis.

Curso de Programação Em Java Versão 2007 17


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Como pode ver, o programa está bem documentado e é assim que deverá fazer os seus
programas, isto facilita a leitura do programa. Sempre que quiser colocar o título de uma
janela use o construtor da superclass, para chamar o construtor da superclass faz-se como na
linha 11 ou através do método setTitle da class JFrame. Na linha 16 definimos o
gerênciador de layout que no caso é BorderLayout e os dois parâmetros indicam a distância
entre os objectos. Da linha 18 à linha 20 adicionamos os componentes à Janela. Na linha 26
definimos as dimensões da janela com 250 pixels de largura e 250 pixels de altura. O
método setLocationRelativeTo (null) serve para fazer com que a janela fique alinhada ao
centro quando inicia o programa. por fim na linha 33 definimos a visibilidade da janela.
Vejamos o resultado deste programa:

Curso de Programação Em Java Versão 2007 18


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

2.

Curso de Programação Em Java Versão 2007 19


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Curso de Programação Em Java Versão 2007 20


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Resultado final.

Para este programa vou apenas explicar as linhas mais importantes de se realçar. Para começar,
tenha como um novo conceito os painéis personalizados os quais deverá usar sempre que
estiver a desenvolver programas do género, este tipo de programação ajuda bastante a
Curso de Programação Em Java Versão 2007 21
Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

compreensão do programa e também cumpre com as recomendações dadas no 1º modulo


quando vimos o conceito de métodos, dissemos que devimos dividir as tarefas em métodos ou
em módulos, onde cada módulo devia fazer uma tarefa específica. Temos no programa três
painéis personalizados, um para o centro, outro para as rádioButtons e outro para o sul que é o
painel dos botões. Como pode ver cada um deles realiza uma tarefa específica e bem definida.
Baptizar sempre as classes, variáveis e métodos com nomes sugestivos.
Como temos mais de duas labels, criamos um Array de String e um Array de JLabels, ambos
com as mesmas dimensões em que a cada elemento do Array de JLabel é associado um
elemento no Array de Strings com os índices correspondentes e é assim que deverá fazer
também. Na linha 48 definimos o tamanho do Array de JLabels igual ao tamanho do Array de
Strings. Nas linhas 98 e 99 adiciona-se as radioButtons à um grupo para que se possa
seleccionar apenas uma de cada vez. Na linha 93, ao instanciarmos a radioButton masculino, o
2º parâmetro indica que por default esta deverá ser a radioButton seleccionada. Outras
explicações estão no próprio programa ou então poderá consultá-las à alguém que entenda da
matéria que eles não se importarão de o explicar.

3.5 - Manipulação de Eventos

Esta é sem duvida uma das mais importantes partes do curso e do Java porque não teria sentido
existir uma linguagem sem o utilizador poder inter – agir com os aplicativos, quero eu dizer que
são os manipuladores de ventos quem detectem o que o utilizador quer que o programa faça
num determinado instante. Por exemplo quando um utilizador clika no botão salvar o programa
deve ser capaz de descobrir isto e depois realizar a respectiva tarefa, e isto só é possível com os
manipuladores de ventos.

NOTA: Um evento é capturado, registado ao manipulador de eventos e só assim manipulado.


Se prestou atenção, no exemplo anterior não havia nenhum evento capturado, ou seja, não
acontecia nada quando clicassemos num dos objectos.

Vamos então a título de exemplo colocar os respectivos eventos aos botões salvar e cancelar.
Como ainda não vimos como salvar os dados no ficheiro, vamos apenas fazer com que quando
se click no botão salvar, mostra – se um reporte com os dados inseridos através do método
toString e ao clikar em cancelar fecha - se a janela.

Preste bastante atenção porque vamos ré utilizar o programa anterior, fazendo apenas algumas
alterações:

Curso de Programação Em Java Versão 2007 22


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Curso de Programação Em Java Versão 2007 23


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Curso de Programação Em Java Versão 2007 24


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Curso de Programação Em Java Versão 2007 25


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Resultado.

Como prometi aumentou-se apenas a acção aos botões, o que implicou também o aumento de
uma nova class que é responsável por manipular os eventos do container. Quando clikamos em
salvar, chama-se o método toString da class PainelCentro que se encarrega em mostrar os dados
inseridos pelo usuário, e é assim que os utilizadores inter agem com os nossos aplicativos.

Curso de Programação Em Java Versão 2007 26


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Como teve oportunidade de ver, é bastante simples manipular os eventos gerados pelo usuário.

ATT: Sempre que usar alguma class de evento deve fazer o import do pacote Java.awt.event.*.

3.6 - Construção de Menus

Um Menu não é mais do que uma lista de opções onde o utilizador só pode escolher uma de
cada vez. Sem muitos comentários vejamos então um exemplo de construção de um menu em
Java.

Esboço do Menu:

Clientes
Novo Cliente
Alterar Cliente
Eliminar Cliente
Sair da Aplicação
Contas
Nova Conta
Alterar Conta
Eliminar Conta

Curso de Programação Em Java Versão 2007 27


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Vamos ao código de gera este maravilhoso output:

Curso de Programação Em Java Versão 2007 28


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Curso de Programação Em Java Versão 2007 29


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Leia o programa linha a linha e verá que não tem segredo. Siga os comentários e qualquer
dúvida contacta-me. Terá oportunidade de ver mais exemplos ao longo do curso.

Curso de Programação Em Java Versão 2007 30


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Nota que os JMenuItem devem ser adicionados aos JMenu que por sua vez são adicionados ao
JMenuBar. O método setJMenuBar da class JFrame serve para adicionar a barra de menus à
JFrame se não chamarmos este método a barra de menus não aparecerá.
O método setMnemonic serve para atribuir a Mnemónica aos componentes (Menus e seus
Items)
Para testar a Mnemónicas use a tecla alt + a letra sublinhada.
Para terminar vamos agora adicionar os respectivos eventos aos items do menu que é feito
através da class ActionListener. Veja o novo resultado e depois o código alterado:

Depois de seleccionada a opção Novo Cliente aparece a seguinte mensagem que depois você
poderá como tarefa chamar um novo formulário.

Curso de Programação Em Java Versão 2007 31


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Curso de Programação Em Java Versão 2007 32


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Veja agora o código alterado:

Curso de Programação Em Java Versão 2007 33


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Curso de Programação Em Java Versão 2007 34


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Curso de Programação Em Java Versão 2007 35


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

3.7 - Resumo

Esta é sem duvida uma das partes mais importantes do curso e do Java, se não sabermos ou
dominarmos a construção de formulários e menus, não conseguiremos desenvolver um
aplicação em Java.

Não se esqueça que os menus devem ser adicionados os na barra de menus ou dentro de um
outro menu para servir de sub menu. Os menuItems devem obrigatoriamente ser adicionados
aos menus e a barra de menus deve ser adicionada à JFrame através do método set JMenuBar.

Como disse a traz todas as classes que começam com a letra J está dentro do pacote
javax.swing.*; por isso não se esqueça de fazer o import deste pacote sempre que estiver a usar
uma das suas classes. Para adicionar os eventos aos items do menu deve usar a Interface
ActionListener que por sua vez tem o método actionPerformed que tem como parâmetro um
ActionEvent e pertence ao pacote Java.awt.event.*.

Espero que a partir de agora esteja em condições de fazer um formulário ou um menu sem
qualquer problema e que se prepare para o que vem no módulo a seguir!....

3.8 - Exercícios

1. Fazer um programa que gera o seguinte output:

2. Faça algumas alterações no exercício anterior de modos a mostrar os dados


inseridos através do método toString quando clikado o botão salva e fechar a janela
ao clikar o botão cancelar.

Curso de Programação Em Java Versão 2007 36


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

3. Fazer os códigos que geram os seguintes outputs:

4. Fazer uma interface com os dados do seu BI e depois fazer um menu onde vai
chamá-lo.

Curso de Programação Em Java Versão 2007 37


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos
IF´S – Informática Formação e Serviços, Lda.

Conclusão do 2º Modulo

Neste 2º módulo vimos as bases principais para o módulo seguinte, onde iremos
começar a gravar os dados num ficheiro de acesso aleatório.

Saiba que a parir de agora já está em condições de fazer dois terço de qualquer projecto
em Java, por isso, estude e entenda bem esta parte do curso se pretender ter sucesso com
a linguagem.
Espero que tenha gostado deste módulo e que tenha aprendido bem ou pelo menos o
suficiente para enfrentar um projecto de Java.

Se tiver algumas debilidades não se preocupe porque o segredo está na prática, faça o
maior número de exercícios possível, não se esqueça que você também pode inventar
alguns exercícios para si.

Encontramo-nos no próximo módulo com mais novidades a cerca do Java.

NOTA: “Mais vale saber pouco e bem do que saber muito e


mal”.
Espero muito sinceramente que tenha aprendido muita coisa com este 2º
módulo do curso e que não desista porque o que vem a frente é muito
maravilhoso.

Qualquer duvida não exite em ligar para 923.29.29.70 Osvaldo Ramos ou escrever
para [email protected], Java Is My Life.

Referencia Bibliográfica:
Java How To Program 4ª Edition, Deitel & Deitel
www.apostilando.com

Curso de Programação Em Java Versão 2007 38


Aprendendo a programar em pouco tempo
Elaborado por Osvaldo Manuel Ramos

Você também pode gostar