Escolar Documentos
Profissional Documentos
Cultura Documentos
Verso 1.4
para BlueJ Verso 1.2.x
Michael Klling
Mrsk Insitute
University of Southern Denmark
1 Prefcio 4
2 Instalao 5
4.1 Inspecionar.......................................................................................................... 14
4.2 Passando objetos como parmetros .......................................................................... 17
6 Depurando 20
Copyright M. Klling 2
ndice
8 Creating applets 26
9 Other Operations 28
Copyright M. Klling 3
1 Prefcio
Este tutorial uma introduo para o uso do ambiente de programao do BlueJ. BlueJ
um ambiente de desenvolvimento java projetado especificamente para o ensino em um nvel
introdutrio. BlueJ foi projetado e implementado pelas equipes das universidade Monash
University, Melbourne, Australia e The University of Southern Denmark, Odense.
Maiores informaes sobre BlueJ esto disponveis no site oficial (http://www.bluej.org).
O software BlueJ e este tutorial esto disponveis a qualquer um para qualquer tipo de
uso. O software e sua documentao podem ser distribudos livremente.
Nenhuma parte do BlueJ ou sua documentao pode ser vendida ou includa em pacotes
que sejam vendidos sem a autorizao explicita dos autores.
Os direitos de propriedade do software BlueJ so propriedades de M. Klling and J.
Rosenberg.
1.4 Feedback
muito bem vindo os comentrios, questes, correes, criticas e qualquer outro tipo de
retorno a respeito do software BlueJ ou sobre este material. Por favor, envie suas
observaes para Michael Klling (mik@mip.sdu.dk).
Copyright M. Klling 4
2 Instalao
Copyright M. Klling 5
Installation
Se voc tiver algum tipo de problema durante a instalao, verifique na Frequently Asked
Questions (FAQ) no web site do BlueJ (http://www.bluej.org/help/faq.html). Leia tambm
a seo How To Ask For Help (http://www.bluej.org/help/ask-help.html).
Copyright M. Klling 6
3 Comeando do incio editando / compilando /
executando
Copyright M. Klling 7
Comeando do incio - editando / compilando / executando
Sumrio: Para criar um objeto de uma classe, selecione o construtor no menu popup da
classe desejada.
Nota: Os mtodos estticos podem ser executados diretamente sem criar a primeira
instncia de um objeto. Um destes mtodos estticos pode ser o main, assim ns
podemos fazer a mesma coisa que uma aplicao comum em Java iniciar uma
aplicao a partir da execuo do mtodo esttico main. Ns voltaremos a este tpico
mais tarde. Primeiro, faremos outras coisas mais interessantes que no podem ser
feitas normalmente em outros ambientes Java.
1
Sempre que mencionarmos o click com boto direito neste tutorial, usurios do Macintosh devem usar o
ctrl-click.
Copyright M. Klling 8
Comeando do incio - editando / compilando / executando
Ns queremos criar um objeto Staff, para isto voc deve usar o click com o boto direito
no cone Staff (que mostrar um menu como na Figura 2). O menu mostra dois
construtores para criar o objeto Staff, um com parmetros e outro sem. Primeiro, selecione
o construtor sem parmetros. Uma janela de dilogo, como na Figura 3, aparecer.
Este dilogo pede um nome para o objeto a ser criado. Ao mesmo tempo, um nome padro
(staff_1) sugerido. Este nome padro bom para este exemplo, portanto apenas click no
boto OK. Um objeto Staff ser criado.
Copyright M. Klling 9
Comeando do incio - editando / compilando / executando
Uma vez que o objeto foi criado, ele ser colocado na bancada de objetos (Figura 4). Este
todo o processo para criar um objeto : selecione um construtor no menu popup, execute-
o e voc ter o objeto criado e visvel na bancada de objetos.
Voc pode ter observado que a classe Person recebeu uma indicao de <<abstract>> (
uma classe abstrata). Voc observar (se tentar fazer isto) que voc no consegue criar
objetos de classes abstratas (A especificao da linguagem Java define que isto no
possvel).
3.4 Execuo
Agora que voc criou um objeto, voc pode executar suas operaes pblicas (em Java
chamamos operaes de mtodos). Click com o boto direito no objeto e um menu com as
operaes disponveis aparecer (Figura 5). O menu mostra os mtodos disponveis para
este objeto e duas operaes especiais fornecidas pelo ambiente (Inspect e Remove). Ns
as discutiremos mais tarde. Por agora, vamos focar nos outros mtodos.
Copyright M. Klling 10
Comeando do incio - editando / compilando / executando
Voc pode ver que existem os mtodos getRoom e setRoom que atribuem e retornam o
numero da sala do membro do staff. Tente chamar getRoom. Selecione-o simplesmente no
menu do objeto e ele ser executado. Um dilogo aparecer mostrando a voc o resultado
da chamada efetuada (Figura 6). Neste caso o nome ser (unknown room) por que
ns no especificamos a sala para esta pessoa.
Copyright M. Klling 11
Comeando do incio - editando / compilando / executando
3.6 Compilao
Sumrio: Para compilar uma classe, click no boto Compile no editor de texto. Para
compilar um projeto, click no boto Compile na janela de visualizao do projeto.
Aps inserir o texto (antes que qualquer outra coisa), verifique a janela de projeto (a janela
principal). Voc observar que o cone da classe Staff foi alterado: Ele est com uma lista
agora. Esta lista no cone sinaliza que a classe ainda no foi compilada desde a ultima
alterao. Retorne para o editor de cdigo fonte.
Nota: Voc pode querer saber porque os cones das classes no estavam com a lista
quando o projeto foi aberto a primeira vez. Isto ocorreu porque as classes j tinham
sido compiladas anteriormente. Normalmente os projetos distribudos com o BlueJ
no so previamente compilados, portanto voc deve encontrar a partir de agora
vrios cones de classes com listas.
Na toolbar, no topo do editor de cdigo fonte, existem alguns botes que corresponde as
funes mais utilizadas. Uma delas o Compile. Esta funo permite compilar a classe
diretamente. Click no boto Compile. Se voc no cometeu nenhum erro, uma mensagem
ser mostrada na rea na parte de baixo da janela do editor informando que a classe foi
compilada com sucesso. Se voc cometeu algum erro de sintaxe, a linha de erro ser
destacada e uma mensagem com a descrio do erro ser mostrada na rea de informao.
(Se a sua primeira compilao ocorreu com sucesso, tente introduzir algum erro de sintaxe
agora como a ausncia de um ponto-e-vrgula e compile novamente para voc como os
erros de sintaxe so indicados).
Aps voc ter compilado a classe com sucesso, feche o editor.
Nota: No necessrio salvar explicitamente o cdigo fonte de sua classe. Os cdigos
fontes so automaticamente salvos no momento mais apropriado (por exemplo,
Copyright M. Klling 12
Comeando do incio - editando / compilando / executando
Sumrio: Para obter ajuda com as mensagens de erro durante a compilao, click no
sinal de interrogao que est prximo da mensagem de erro.
Neste estgio, os textos de ajuda ainda no esto disponveis para todas as mensagens de
erro. Muitos deles ainda devem ser escritos. Apesar disto vale a pena tentar pois muitos j
foram cadastrados. Os restantes sero disponibilizados nas verses futuras do BlueJ.
Copyright M. Klling 13
4 Fazendo um pouco mais...
Nesta seo, ns investigaremos mais algumas coisas que voc pode fazer com o
ambiente. Coisas que no so essenciais, mas so comumente usadas.
4.1 Inspecionar
Quando voc executou mtodos de um objeto, voc pode ter observado que a operao
Inspect estava disponvel junto com os mtodos definidos pelo usurio(Figura 5). Esta
operao permite verificar os estado das variveis de instncia (fields) de um objeto.
Tente criar um objeto com alguns valores definidos pelo usurio (por exemplo, um objeto
Staff com parmetros para o mtodo construtor). Selecione ento o Inspect no menu do
objeto. Um dilogo mostra os campos do objeto, seus tipos e seus valores (Figura 9).
Inspeo til por ser uma forma rpida de verificar se uma mutator operation (uma
operao de mudana de estado do objeto) foi executada corretamente. Assim, a inspeo
uma ferramenta de verificar e eliminar erros simples.
No exemplo do objeto Staff, todos os atributos so de tipos simples (no so objetos e
nem Strings). O valor destes tipos pode ser mostrado diretamente. Voc pode
imediatamente ver se o construtor fez ou no as atribuies corretamente.
Nos casos mais complexos, os valores dos campos podem ser referencias para objetos
definidos pelo usurio. Para ver um exemplo, ns vamos usar um outro projeto. Abra o
projeto chamado people2, que est includo na distribuio padro do BlueJ. O people2
pode ser visto na Figura 10. Como voc pode ver, este segundo exemplo possui uma
Copyright M. Klling 14
Fazendo um pouco mais...
classe Address que no existia no projeto anterior. Um dos campos da classe Person um
atributo do tipo Address.
Para o nosso prximo teste inspecionar o valor de um objeto que atributo de outro
crie um objeto Staff e ento acione o mtodo setAddress deste objeto (voc encontrar o
mtodo no menu popup do objeto Person). Entre com o endereo. Internamente o cdigo
do objeto Staff cria um objeto da classe Address e armazena-o no atributo address.
Agora, inspecione o objeto Staff. O resultado desta inspeo est na in Figura 11. Nos
atributos do objeto Staff temos agora o address. Como voc pode ver, o valor dele
mostrado como <object reference> pois ele um objeto complexo e definido pelo usurio
e seu valor no pode ser mostrado diretamente na lista. Para examinar o endereo,
selecione o campo address na lista e click o boto Inspect na janela de dilogo. (Voc
tambm pode dar um duplo-click no campo address) Uma outra janela de inspeo ser
aberta e ela dever mostrar em detalhes o objeto Address (Figura 12).
Copyright M. Klling 15
Fazendo um pouco mais...
Copyright M. Klling 16
Fazendo um pouco mais...
Se o campo selecionado for pblico, em vez de clicar Inspect, voc tambm pode
selecionar o campo address e clicar no boto Get. Est operao coloca o objeto na
bancada de objetos. Estando l voc pode examin-lo e fazer chamadas aos mtodos dele.
Sumrio: Um objeto pode ser passado como um parmetro para uma chamada de
mtodo.
Objetos podem ser passados como parmetros aos mtodos de outros objetos. Vamos
tentar um exemplo disto. Crie um objeto da classe Database (Voc perceber que a classe
tem somente um constructor e sem parmetros, ou seja s acionar o construtor). O
objeto Database tem a habilidade de armazenar uma lista de pessoas. Ele possui
operaes para adicionar objetos e para mostrar os objetos guardados por ele (Na verdade,
chamar este objeto de Database um grande exagero !).
Se voc no tiver objetos do tipo Staff e Student na sua bancada de objeto, crie tambm um
de cada. Para prosseguir, voc precisa ter um objeto Database, um Staff e um Student na
sua bancada de objetos ao mesmo tempo.
Agora acione o mtodo addPerson do objeto Database. A assinatura informa que um
parmetro do tipo Person esperado. (Lembre-se: A classe Person abstrata, ento no
existe nenhum objeto que seja diretamente do tipo Person. Mas, por causa da herana, os
objetos Student e Staff podem substituir o objeto Person. Desta forma, correto passar
Student ou Staff onde Person esperado). Para passar um objeto, que voc possui na
bancada de objeto, como parmetro na chamada de mtodo, voc pode entrar com o nome
do objeto no campo para passagem de parmetro. Tambm possvel utilizar um atalho,
atravs de um click no objeto na bancada de trabalho, para obter o nome do objeto em
questo. Aps isto click no boto ok para processar a chamada do mtodo. Como ele no
retorna valor, voc no percebera o resultado imediatamente. Voc deve acionar o mtodo
listAll no objeto Database para verificar se a operao foi realmente efetuada. A operao
listAll escreve as informaes sobre as pessoas na janela de sada padro. Voc ver esta
janela aparecer automaticamente com o referido contedo.
Tente isto novamente aps ter inserido mais algumas pessoas no database.
Copyright M. Klling 17
5 Criando um novo projeto
Este captulo leva voc a um rpido passeio na atividade de criar e configurar um novo
projeto.
Para criar um novo projeto, selecione Project New... no menu do BlueJ. Um dilogo de
seleo de arquivo ser aberto para voc especificar o nome e a localizao do novo
projeto. Tente fazer isto. Voc pode escolher qualquer nome para o seu projeto. Aps voc
clicar no boto OK, um novo diretrio ser criado com o nome que voc especificou e a
janela principal mostrara o novo, e vazio, projeto.
Sumrio: Para criar uma nova classe, click no boto New Class e especifique o nome da
classe.
Voc pode criar suas classes clicando no boto New Class na barra de ferramentas. Voc
dever preencher o campo com o nome da classe este nome deve ser um nome vlido
para uma classe em Java.
Durante a criao da classe, voc pode escolher entre quatro tipos de classes: abstrata,
interface, applet ou padro. Esta escolha determina qual o template ser utilizado para criar
sua classe. Voc pode alterar esta definio atravs da edio do cdigo fonte (por
exemplo, adicionando a palavra abstract no seu cdigo fonte).
Aps criar uma classe, ela passa a ser representada por um cone no diagrama. Se ela no
for uma classe padro, o tipo (interface, abstract, ou applet) indicado no cone. Quando
voc abre um editor para uma nova classe voc observar que um template com a sua
classe foi criado este um bom inicio para comear o trabalho. O cdigo criado est
sintaticamente correto. Ele pode ser compilado (apesar de no fazer nada). Tente criar
algumas classes e compil-las.
Sumrio: Para criar uma seta de dependncia, click no boto com a seta e araste-a para
o diagrama, ou simplesmente codifique o que ela representa no editor de cdigo.
Copyright M. Klling 18
Depurando
Sumrio: Para remover uma classe, selecione a funo remover no menu popup da
prpria classe. Para remover uma seta, selecione remove no menu Edit e click na seta a
ser removida..
Para remover uma classe do diagrama, selecione a classe e escolha Remove Class no menu
Edit. Voc tambm pode selecionar Remove no menu popup da classe em questo. Para
remover a seta, selecione Remove Arrow no menu a ento selecione a seta que voc deseja
remover.
Copyright M. Klling 19
Depurando
6 Depurando
Sumrio: Para marcar um ponto de parada, click na rea de breakpoint, parte esquerda
do editor de texto.
Ter um ponto de parada marcado permite a voc interromper a execuo do programa em
uma certa linha de cdigo. Quando a execuo interrompida, voc pode investigar o
estado de seus objetos. Isto ajuda muito na compreenso do que est acontecendo no seu
cdigo fonte.
No editor de texto, no lado esquerdo do texto, existe a rea de marcao de breakpoint
(Figura 13). Voc pode criar um breakpoint atravs de um simples click nela. Um pequeno
sinal de stop aparecer indicando o breakpoint. Tente fazer isto agora. Abra a classe
Demo, procure pelo mtodo loop, e marce um breakpoint em alguma linha dentro do loop
for. O sinal deve aparecer no seu editor de cdigo.
Copyright M. Klling 20
Depurando
Quando a linha de cdigo associada ao breakpoint for ser executada, a execuo ser
paralisada. Vamos tentar isto agora.
Crie um objeto da classe Demo e chame o mtodo loop com um parmetro, por exemplo
10. Quando a linha que contem o breakpoint estiver para ser executada, a janela do editor
ser mostrada, mostrando a linha de cdigo corrente, e a janela do depurador tambm ser
mostrada. Isto ser parecido com o que mostrado na Figura 14.
A linha em destaque no editor mostra qual linha ser executada a seguir (a execuo
parada antes da linha ser executada).
Copyright M. Klling 21
Depurando
Sumrio: Para um passo simples no seu cdigo, use os botes Step e Step Into no
depurador.
Neste momento nos temos o cdigo paralisado de sua execuo (que nos convence
realmente que o mtodo foi executado at o ponto que tnhamos marcado), e ns podemos
andar em passos-simples (single-step) pelo cdigo e ver o progresso da execuo do
cdigo. Para isto, click repetidamente no boto Step na janela do depurador. Voc deve ver
que a marca no editor est movimentando (a marca move atravs das linhas que vo sendo
executadas). Toda vez que voc clica no boto Step, uma linha de cdigo executada e a
execuo paralisada novamente. Perceba tambm que os valores das variveis mostradas
na janela do depurador mudam (por exemplo, o valor da varivel sum). Assim, voc pode
executar passo-a-passo o cdigo e ver o que acontece. Quando voc j estiver satisfeito,
voc pode remover o breakpoint clicando no cone. Para continuar a execuo, click no
boto Continue e a execuo continuar normalmente.
Vamos tentar novamente com outro mtodo. Marque o breakpoint na linha abaixo da
classe Demo, mtodo carTest()
places = myCar.seats();
Acione o mtodo. Quando o breakpoint for encontrado, voc estar no momento antes da
chamada do mtodo seats() da classe Car. Com um click em Step, voc ter a linha
executada sem entrar no detalhe do mtodo. Vamos tentar agora o Step Into. Se voc
acionar o step into, voc entrar no detalhe da execuo do mtodo e poder executar linha
a linha (diferente do passo-simples). Neste caso, voc ver a execuo do mtodo seats()
de dentro da classe Car. Voc poder passear pelo mtodo at que voc encontre o
comando end e retorne para o mtodo chamador. Perceba como a janela do depurador se
altera.
Step e Step Into comportam-se da mesma forma se a linha corrente no contem uma
chamada de mtodo.
Quando voc depura erros no seu cdigo, importante poder inspecionar o estado de seus
objetos (variveis locais e variveis da instncia).
Fazer isto trivial a maior parte disto voce j viu. Voc no necessita de comandos
especiais para inspecionar as variveis; variveis estticas, variveis de instancia de um
objeto corrente e variveis locais de um mtodo corrente so sempre automaticamente
mostradas e atualizadas.
Voc pode selecionar os mtodos na pilha de chamada de mtodos para ver as variveis de
outros objetos ativos ou de outros mtodos. Tente, por exemplo, um ponto de parada no
mtodo carTest() novamente. No lado esquerdo da janela do depurador, voc pode ver a
pilha de chamada dos mtodos. Ela atualmente mostra :
Car.seats
Demo.carTest
Copyright M. Klling 22
Depurando
Isto indica que Car.seats foi chamado por Demo.carTest. Voce pode selecionar
Demo.carTest na lista para inspecionar o cdigo e os valores atuais das variveis deste
mtodo.
Se voc passar pela linha que contem o comando new Car(...) voc pode observar
que o valor da varivel local myCar foi mostrado como <object reference>. Todos os
valores do tipo objeto (exceto as Strings) so mostrados desta forma. Voc pode
inspecionar os valores das variveis deste objeto atravs de um duplo-click. Fazendo desta
forma uma janela de inspeo idntica as j descritas anteriormente ser aberta (seo
4.1). No h nenhuma diferena entre a inspeo de objetos descritas aqui da inspeo
dos objetos feitas na bancada de objetos.
Sumrio: Halt e Terminate podem ser utilizados para parar uma execuo
temporariamente ou permanentemente.
s vezes um programa fica rodando por muito tempo, e voc gostaria de saber se a
execuo est sendo feita corretamente. Talvez exista um lao infinito, ou somente demora
por algum motivo. Bem, ns podemos verificar. Chame o mtodo longloop() da classe
Demo. Ele ficar rodando.
Agora nos queremos saber o que est acontecendo. Mostre a janela do depurador, se ela j
no estiver disponvel (a propsito, selecionando o smbolo de turning, que mostra que o
computador est processando, um atalho para a chamada do depurador.)
Agora selecione o boto Halt. A execuo ser interrompida como se ns tivssemos
marcado um ponto de parada. Voc pode agora passar os comandos, observar as variveis,
e verificar se est tudo dentro do esperado e eventualmente continuar executando por
mais algum tempo para completar a atividade. Voc pode simplesmente selecionar
Continue e Halt varias vezes para ver quanto rpido est sendo o processamento. Se voc
no quiser terminar esta execuo (por exemplo, voc descobriu que est no meio de um
loop infinito) voc pode simplesmente selecionar Terminate para parar a execuo que
est em andamento. O boto Terminate no deve ser usado com freqncia voc pode
deixar o software em um estado no previsto e inconsistente, portanto recomendvel que
seja usado somente como um mecanismo de emergncia.
Copyright M. Klling 23
7 Criando aplicaes stand-alone
BlueJ pode criar arquivos executveis no formato jar. Os arquivos executveis jar podem
ser executados atravs de um duplo click (por exemplo no Windows e no MacOS X), ou
atravs da linha de comando java -jar <file-name>.jar (no prompt do Unix ou
do DOS).
Nos tentaremos fazer isto com o projeto hello. Abra-o (ele est no diretrio examples).
Tenha certeza que o projeto foi compilado. Selecione o menu Project -> Export...
Ser aberto uma janela que permite a voc especificar o formato de armazenamento
(Figura 15). Escolha a opo jar file para criar um arquivo executvel do tipo jar. Para
que o executvel seja efetivo, voc deve ter criado uma classe de inicio de execuo. Esta
classe deve ter um mtodo vlido chamado main definido. (com a assinatura public
static void main(String[] args)).
Em nosso exemplo, escolher a classe principal fcil; h somente uma classe. Selecione
Hello no menu popup. Se voc tiver outros projetos, selecione a classe que contm o
mtodo main que voc deseja executar.
Geralmente, voc no incluiria seus fontes em um arquivo executvel. Mas voc pode faz-
lo, se voc quiser distribuir os fontes tambm.
Selecione o boto Continue. Em seguida voc ver a janela para escolha de arquivo que
permite que voc especifique o nome do arquivo do tipo jar a ser criado. Digite hello e
selecione o boto OK. A criao do arquivo executvel do tipo jar foi completada.
Voc pode executar o arquivo jar somente se a aplicao utiliza uma interface grfica.
Nosso exemplo usa a interface baseada em texto, portanto nos temos que aciona-lo em
uma janela com prompt de comando. Agora tente executar o arquivo jar
Copyright M. Klling 24
Depurando
Abra um terminal ou uma janela de prompt de comando. Ento v ao diretrio onde voc
salvou o arquivo jar. (voc deve verificar se o diretrio contm o arquivo hello.jar).
Supondo que o java foi instalado corretamente em seu sistema, voc deve ser capaz de
realizar o seguinte comando :
java -jar hello.jar
para executar o arquivo.
Copyright M. Klling 25
8 Criando applets
Sumrio: Para executar uma applet, selecione Run Applet no menu popup da classe.
BlueJ permite criar e executar applets como as outras aplicaes. Ns inclumos um applet
no diretrio de exemplos da distribuio do BlueJ. Primeiro, Nos tentaremos executar o
applet. Abra o projeto appletdemo que est dentro do diretrio exemples.
Voce ver que este projeto possue somente uma classe; ela chamada de CaseConverter.
O cone que representa a classe foi marcado (com a tag <<applet>>) como sendo uma
applet. Aps a compilao, selecione Run Appno menu popup da classe.
Uma janela sera exibida e ele permique que voce efetue algumas escolhas (Figura 16).
Voc ver que pode escolher entre rodar o applet em um browser ou em um visualizador
de applets (ou simplesmente gerar uma pgina web sem execut-lo). Deixe as opes com
os valores j selecionados e selecione o boto OK. Aps alguns segundos, o visualizador
applet ser exibido e mostrar o applet case converter.
O visualizador applet foi instalado junto com o seu JDK, portanto muito provvel que ele
seja da mesma verso do seu compilador Java. Isto geralmente evita os problemas que a
execuo em browsers. O seu browser pode possuir uma verso diferente de Java, e,
Copyright M. Klling 26
Creating Applets
dependendo da verso que o seu browser estiver utilizando, pode causar problemas.
Apesar disto, a maior parte dos browser deve funcionar corretamente.
Nos sistemas Microsoft Windows e MacOS, o BlueJ usa o browser default. Nos sistemas
Unix systems, o BlueJ possui em suas configuraes qual ser o browser a ser acionado.
Sumrio: Para criar um applet, selecione o boto New Class e escolha o tipo da classe
como Applet.
Aps ter visto como executar uma applet, ns vamos ver como criar uma.
Crie uma nova classe do tipo Applet (voc pode selecionar o tipo na janela de criao da
classe). Compile e depois execute-a. s isto ! Isto no foi difcil, no ?
Applets (como as outras classes) so geradas com um corpo padro que contm um
cdigo bsico e vlido. Para applets, este cdigo mostra um applet simples com duas
linhas de texto. Voc pode abrir o editor de texto e editar a applet para inserir suas
prprias linhas de cdigo.
Voc ver que todos os mtodos mais comuns de uma applet j esto construdos, cada um
com um comentrio que explica o propsito do mtodo. O cdigo exemplo de construo
dos textos est no mtodo paint.
Em algumas situaes pode ser util criar um objeto applet na bancada de objetos (como as
classes normais). Voc pode fazer isto o construtor mostrado no menu popup da
classe applet. Da bancada de objetos voc no pode executar uma applet na sua forma
completa, mas voc pode chamar alguns mtodos. Isto pode ser til para realizar testes
unitrios nos mtodos que voc escreveu como sendo parte da implementao da sua
applet.
Copyright M. Klling 27
9 Outras Operaes
Sumrio: Pacotes feitos em outros ambientes podem ser abertos no BlueJ atraves do
menu Project: Open Non BlueJ...
BlueJ permite voc abrir pacotes j existentes e que foram criados fora do ambiente do
BlueJ. Para fazer isto, selecione Project Open Non BlueJ... no menu. Selecione o diretrio
que contm os arquivos com os cdigos fonte em java e selecione o boto Open in BlueJ. O
BlueJ pedir uma confirmao que voc quer realmente abrir este diretrio.
Sumrio: Classes podem ser copiadas para um projeto utilizando o comando Add Class
do menu File...
Em alguns casos, voce pode precisar usar uma classe que voce j possui em um projeto
usando o BlueJ. Por exemplo, um professor pode fornecer uma classe Java aos estudantes
para que eles usem em seus projetos. Voc pode incorporar facilmente uma classe
existente em seu projeto atravs do menu Edit Add Class from File.... Isto selecionar o
cdigo fonte indicado (com a terminao do nome de arquivo em .java) para ser
importado.
Quando uma classe importada para um projeto, uma cpia feita para o diretrio
corrente do projeto. Este efeito exatamente igual a voc criar uma classe e reescrever as
linhas de cdigo.
Uma alternativa a este processo adicionar o cdigo fonte, via outra ferramenta de
organizao de arquivo, da nova classe no diretrio do projeto. A prxima vez que voc
abrir o projeto, a classe ser includa no diagrama do projeto.
Sumrio: Mtodos estticos podem ser acionados a partir do menu popup da classe.
Abra o projeto hello a partir do diretrio examples. A nica classe no projeto (classe
Hello) contm a definio do mtodo main.
Click com o boto direito sobre a classe, e voc ver o menu popup inclue no s os
mtodos construtores da classe, ele contm tambm o mtodo esttico main. Voc pode
chamar main diretamente a partir deste menu popup (sem primeiro criar um objeto,
exatamente como a definio de um mtodo esttico).
Copyright M. Klling 28
Other operations
Todos os mtodos estticos podem ser acionados desta forma. O mtodo padro main
espera receber um array com as Strings como sendo o argumento. Voc pode passar um
array com String usando o padro de sintaxe Java para a declarao de array constantes.
Por exemplo, voc poder passar
{"one", "two", "three"}
(incluindo as chaves) para o mtodo. Tente fazer isto!
Nota: No padro java, constantes no formato array constantes no podem ser usadas
como parmetros para a chamada de mtodos. Eles podem somente ser utilizados
como inicializadores. No BlueJ, para permitir a chamada interativa de mtodos do
tpo main, ns permitiremos a passagem de constantes no formato array como
parmetro.
Voc pode gerar a documentao do seu projeto no formato padro javadoc a partir do
BlueJ. Para fazer isto, selecione no Tools - Project Documentation menu. Esta funo gerar a
documentao para todas as classes do projeto a partir dos cdigos fontes e abrir um
browser para mostrar a documentao gerada.
Voc pode tambm gerar e visualizar a documentao de uma nica classe diretamente a
partir do editor de cdigo fonte do BlueJ. Para fazer isto, abra o editor de cdigo fonte e
use o menu drop-down na barra de botes do editor. Altere a seleo de Implementation
para Interface. Isto ir mostar a documentao no padro javadoc (interface da classe) no
editor.
Sumrio: As classes das API padro do java podem ter sua documentao visualizada
atravs do Help - Java Standard Libraries.
Frequentemente, quando voce est escrevendo um programa em java, voce precisa utilizar a
documentao das bibliotecas padro do Java. Voc pode abrir um browser mostrando a
documentao da API do JDK atravs do menu Help - Java Standard Classes (se voce
estiver na internet).
A documentao do JDK pode tambm ser instalada e usada localmente (offline). Os
detalhes desta configurao esto explicados detalhadamente na seo de help no web site
do BlueJ.
Copyright M. Klling 29
Other operations
Sumrio: Para criar objetos a partir de uma biblioteca de classes, utize o menu Tools
Use Library Class.
O BlueJ tambm oferece a funcionalidade de criar objetos de uma classe que no faz parte
do seu projeto, mas que esteja definida em uma biblioteca. Voc pode, por exemplo, criar
objetos de uma classe String ou ArrayList. Isto pode ser muito til para simulaes
simples do uso destes objetos.
Voc pode criar uma biblioteca atravs do menu Tools Use Library Class. Uma janela ser
exibida para voc entrar o nome qualificado da classe, como java.lang.String. (Perceba
que voce deve entrar com o nome complete, ou seja o nome da classe incluindo o nome
dos pacotes que contm a classe.)
O campo de entrada possui um combo-box associado para mostrar as classes utilizadas
recentemente. Uma vez que o nome da classe foi entrado, basta precionar Enter para
verificar todos os construtores e os mtodos estticos da classe entrada. Qualquer um
destes mtodos, construtores ou mtodos estticos, podem ser invocados atravs da
seleo deles na lista.
Este acionamento preceder qualquer outra chamada de mtodo ou do construtor da
classe.
Copyright M. Klling 30
10 Os sumrios
Iniciando o BlueJ
1. Para abrir um projeto, selecione Open no menu Project.
2. Para criar um objeto de uma classe, selecione o construtor no menu popup da classe
desejada.
3. Para executar um mtodo, selecione-o atravs do menu popup.
4. Para editar o cdigo fonte de uma classe, de um duplo-click no cone da classe.
5. Para compilar uma classe, click no boto Compile no editor de texto. Para compilar
um projeto, click no boto Compile na janela de visualizao do projeto.
6. Para obter ajuda com as mensagens de erro durante a compilao, click no sinal de
interrogao que est prximo da mensagem de erro.
Depurando
14. Para marcar um ponto de parada, click na rea de breakpoint parte esquerda do
editor de texto.
1 5 . Para um passo simples no seu cdigo, useos botes S t e p e Step I n t o no
depurador.Inspecting variables is easy they are automatically displayed in the
debugger.
16. Inspecionar variveis facil Elas so automaticamente mostradas no depurador.
17. Halt e Terminate podem ser utilizados para parar uma execuo temporariamente ou
permanentemente.
Criando applets
19. Para executar uma applet, selecione Run Applet no menu popup da classe.
20. Para criar um applet, selecione o boto New Class e escolha o tipo da classe como
Applet .
Outras Operaes
Copyright M. Klling 31
Other operations
21. Pacotes feitos em outros ambientes podem ser abertos no BlueJ atraves do menu
Project: Open Non BlueJ....
22. Classes podem ser copiadas para um projeto utilizando o comando Add Class do
menu File...
23. Mtodos estticos podem ser acionados a partir do menu popup da classe.
24. Para gerar a documentao de um projeto, selecione Project Documentation no
menu Tools.
25. As classes das API padro do java podem ter sua documentao visualizada atravs
do Help - Java Standard Libraries.
26. Para criar objetos a partir de uma biblioteca de classes, utize o menu Tools Use
Library Class.
Copyright M. Klling 32