SlideShare una empresa de Scribd logo
1 de 36
TutorialdeBlueJ
INTEGRANTES:
CRUZ SOLAR JOSE ALEXIS
ESMERALDAITURRIGARRAY COSIJOESA
ERIC RANDY MARTINEZ MATEO
CRUZ ELENA ALQUISIREZ PEREZ
JOSE MANUEL FLORES RAMOS
TABLA DE CONTENIDO
1Prólogo

4

1.1AcercadeBlueJ.................................................................................................................................4
1.2AlcanceyAudiencia............................................................................................. ..............................4
1.3Copyright,licenciayredistribución....................................................................................................4
1.4Realimentación............................................................................................................... ...................5
2Instalación

6

2.1InstalaciónenWindows................................................................................... ..................................6
2.2InstalaciónenMacintosh...................................................................................................................7
2.3InstalaciónenLinux/Unixyotrossistemas........................................................................................7
2.4ProblemasdeInstalación...................................................................................................................7
3Comenzando–edit/compile/execute8
3.1LanzandoBlueJ................................................................................................................................8
3.2Abriendounproyecto........................................................................................................................ .9
3.3Creandoobjetos.................................................................................................................................9
3.4Ejecución...................................................................................................... .....................................11
3.5Editandounaclase............................................................................................... .............................13
3.6Compilación................................................................................................ ......................................14
3.7Ayudaconerroresdelcompilador.....................................................................................................15
4Haciendounpocomás...

16

4.1Inspección..........................................................................................................................................16
4.2Pasandoobjetoscomoparámetros...................................................................... .............................19
5Creandounnuevoproyecto

20

5.1Creandoeldirectoriodelproyecto.....................................................................................................20
5.2Creandoclases..................................................................................................................................20
5.3Creandodependencias..................................................................................... ................................20
5.4Removiendoelementos.....................................................................................................................21
6Traceando22
6.1Configurandopuntosdeparada........................................................................................................22
6.2Pasoapasoatravésdelcódigo....................................................................................................... .24
6.3Inspeccionandovariables..................................................................................................................24
6.4Deteneryterminar........................................................................................... ..................................25
7Creandoaplicacionesdeescritorio

26
8Creandoapplets28

8.1Ejecutandounapplet........................................................................................... ..............................28
8.2Creandounapplet.............................................................................................................................29
8.3Probandoelapplet............................................................................................ ................................29
9Otra soperaciones30
9.1AbriendopaquetesquenosondebluejenBluej..............................................................................30
9.2Agregandoclasesexistentesasuproyecto......................................................................................30
9.3Llamandoelmétodomainyotrosmétodosestáticos....................................................................... .30
9.4Generandodocumentación............................................................................. ..................................31
9.5Trabajandoconlibrerías...................................................................................... ..............................31
9.6Creandoobjetosdesdelibreríasdeclases........................................................................................32
10Resumen……………………………………………………………………………………………………………….33
1Prólogo

1.1AcercadeBlueJ
Este tutorial esuna introducción al uso del entorno de programaciónBlueJ.BlueJesun
entornodedesarrolloparaJava™
diseñadoespecíficamenteparalaenseñanzaenun
cursointroductorio.
FuediseñadoeimplementadoporelequipodeBlueJenla
UniversidaddeMonash,Melbourne, Australia,ylaUniversidaddeSouthernDenmark, Odense.
MásinformaciónsobreBlueJseencuentradisponibleen http://www.bluej.org.

1.2AlcanceyAudiencia
Este tutorial está hecho para
las personas que desean familiarizarse con las
capacidadesdeesteentornodeprogramación.
Aquínoseexplicanlasdecisionesde
diseñoquesubyacenenlaconstruccióndelentornoolainvestigaciónenlacualsebasa.
Este tutorial no tiene la intención de enseñarJava.A los principiantes en la programación
en Javaselesaconsejaestudiartambiénconuntextointroductoriootomaruncursode Java.
Este no es un manual de referencia comprensivo del entorno. Muchosdetallesse
dejaron–sehaceénfasisenunaintroducciónbreveyconcisa,envezdeuncubrimiento
completodecaracterísticas.
Cadaseccióncomienzaconunaoracióninicialderesumen.
Estopermitealosusuarios
familiarizados con algunas partes decidir si ellos quieren leer o saltar cada parte en
particular.La sección10repite únicamentelaslíneasresumencomounareferencia rápida.

1.3Copyright,licenciayredistribución
ElSistema
BlueJysututorialestándisponibleslibrementeparacualquierpersonaypara
cualquierclasedeuso. Elsistemaysudocumentaciónpuedenserredistribuidos libremente.
NingunapartedelsistemaBlueJosudocumentaciónpuedenservendidosparaobtener lucro o
incluidos en un paquete que sea vendido para lucro sin autorización escrita de los
autores.
Elcopyright©paraBlueJestáreservadoaM.KöllingyJ.Rosenberg.

4
Prólogo

1.4Realimentación
Comentarios,preguntas,correcciones, críticasy cualquier otra clase de realimentación
concernientealsistemaBlueJoasututorialsonbienvenidasyacogidasactivamente.
Porfavorescribauncorreoelectrónicoalos
alumnus
del
E2
del
ITSAL
(charizar_solar@hotmail.com)

5
2Instalación

BlueJesdistribuidoentresformatosdiferentes:unoparasistemasWindows,unopara
MacOS,y uno para los otros sistemas.La instalación es fácil y rápida.
Prerrequisitos
UsteddebetenerJ2SEv1.3(o.JDK1.3)oposteriorinstaladoensussistemapara
utilizarBlueJ.SiustednotieneinstaladoelJDKusted puede descargarlo del sitio web de
Sunenhttp://java.sun.com/j2se/. En MacOSX, una versión reciente del JDK está
preinstalada
–
ustednonecesitainstalarla.Siustedencuentraunapáginadedescargas
queofreceel“JRE”(JavaRuntimeEnvironment)yel“SDK”(SoftwareDevelopmentKit
),usteddebedescargarel“SDK”–elJRE noessuficiente.

2.1InstalaciónenWindows
Elarchivodedistribuciónparalossistemas
Windowsesllamadobluejsetup-xxx.exe,
dondexxxesunnúmerodeversión.Porejemplo,ladistribucióndeBluejversión 1.2.0se llama
bluejsetup-120.exe.Ustedpuedetenerestearchivoendisco,opuededescargarlo
delsitiowebdeBluejhttp://www.bluej.org.Ejecuteesteinstalador.
El instalador le permite seleccionar un directorio para instalarlo. El también ofrece la
opcióndeinstalarunaccesodirectoenelmenúdeinicioyenelescritorio.
Luegodefinalizadalainstalación,ustedencontraráelprogramabluej.exeeneldirectorio
deinstalacióndeBlueJ.
La primera vez que usted lance BlueJ, él buscará el sistemaJava (JDK ).Siél
encuentradisponiblemásdeunsistemaJava ( e.j.ustedtieneJDK1.3.1 yJDK1.4 instalado
),unaventanadediálogoledejaráseleccionarunodeellosparautilizarlo.Siél
noencuentraunsistemaJava,
austedselesolicitaráquelolocalice(estopuedeocurrir
cuandounsistemaJDKhasidoinstalado,
perolascorrespondientesentradasderegistro
hansidoremovidas).
ElinstaladordeBlueJtambiéninstalaunprogramallamadovmselect.exe.
Usandoeste
programa, usted puede cambiar posteriormente cuál versión de Java utiliza BlueJ.
EjecutevmselectparaejecutarBlueJconunaversióndiferentedeJava.
La selección del JDK es almacenado para cada versión de BlueJ. Siustedtiene
diferentesversionesinstaladasde
BlueJ,ustedpuedeusarunaversióndeBlueJconel
JDK1.3.1yotraversióndeBlueJcon
JDK1.4.CambiarlaversióndeJavaparaBlueJharáquesecambieparatodaslasinstalacionesde
BlueJdelamismaversiónparael
mismousuario.

6
Instalación
2.2InstalaciónenMacintosh
PorfavornotequeBlueJseejecutasolamenteen
MacOSX.Elarchivodedistribución
paraMacOS
esllamadoBlueJ-xxx.sit,dondexxxesunnúmerodeversión.Porejemplo,
ladistribucióndeBluejversión1.2.0sellama
BlueJ-120.sit.Ustedpuedetenereste
archivoendisco,opuededescargarlodelsitiowebdeBluejhttp://www.bluej.org.
Este archivopuede ser descomprimido por el expansorStuffIt.Muchos navegadores
descomprimiránestearchivoporusted. Deotromodo,haciendodobleclicse descomprimirá.
Luego de descomprimir, usted tendrá una carpeta llamada BlueJ-xxx. Muevaesta
carpetadentrodesucarpetadeAplicaciones(odonde
quiera
queaustedleguste
guardarlo).Nosonnecesariasposterioresinstalaciones.

2.3InstalaciónenLinux/Unixyotrossistemas
ElarchivodedistribuciónparaMacOSesllamadoBlueJ-xxx.sit,
donde
xxxesunnúmero
deversión.Porejemplo,ladistribucióndeBluejversión1.2.0sellama
BlueJ-120.sit. Usted
puede tener este archivo en disco, o puede descargarlo del sitio web de
Bluejhttp://www.bluej.org.
Elarchivodedistribución
generalesunarchivojarejecutable.Sellamabluej-xxx.jar,
dondexxxeselnúmerodeversión.
Porejemplo,ladistribucióndeBluejversión1.2.0se
llamabluej-120.jar.Ustedpuedetenerestearchivoendisco,opuededescargarlodel
sitiowebdeBluejhttp://www.bluej.org.
Ejecute el instalador a través del siguiente comando. NOTA:Para esteejemplo,el
archivoutilizadoeseldeladistribuciónbluej-120.jar–ustednecesitautilizarelnombre
delarchivoque vaya a utilizar(conelnúmerodeversióncorrecto).
<jdk-path>/bin/java-jarbluej-120.jar
<jdk-path>eseldirectorio,dondeelJDKfueinstalado.

Unaventanaselanza,permitiéndoleescogereldirectoriodeinstalacióndeBluejyla
versióndelJDKutilizadaparaejecutar
BlueJ.Importante:Elcaminopara
BlueJ(estoes,
cualquieradelosdirectoriospadre)nodebencontenerespaciosenblanco.
HagaclicenInstall.Luegodefinalizar,BlueJdeberáestarinstalado.

2.4ProblemasdeInstalación
Siustedtienealgúnproblema,verifiquelasecciónFrequentlyAskedQuestions(FAQ)
enelsitiowebdeBlueJ( http://www.bluej.org/help/faq.html)ylealasecciónHowToAsk ForHelp(
http://www.bluej.org/help/ask-help.html).

7
3Comenzando–edit /compile/execute

3.1LanzandoBlueJ
EnWindowsyMacOS,estáinstaladounprogramallamadoBlueJ.Ejecútelo.
En
sistemasUnixelinstaladorguardaun
scriptllamadobluejen
eldirectoriode
instalación.DesdeunainterfazGUI,hagadobleclicenelarchivo.Desdeunalíneade
comandosustedpuedeiniciarBlueJconosinunproyectocomoargumento:
$bluej

o
$bluejexamples/people

Figura1:LaventanaprincipaldeBlueJ

8
Comenzando-edit/compile/execute
3.2Abriendounproyecto
Resumen:Paraabrirunproyecto,seleccioneOpendelmenúProject.
LosproyectosenBlueJ,comolospaquetesestándarenJava,son
conteniendolosarchivosincluidosenelproyecto.
LuegodeiniciarBlueJ,useelcomandodemenúProject–Open...
unproyecto.
Algunosproyectosdeejemploestánincluidos
directorioexamples.

directorios

paraseleccionaryabrir

enladistribuciónestándardeBlueJenel

Paraestaseccióndel
tutorial,abraelproyecto
people,elcualestáincluidoeneste
directorio.Ustedpuedeencontrareldirectorioexamplesenel
directorioinstalaciónde
BlueJ.Luegodeabrirelproyecto,usteddeberíaveralgosimilaralaventanamostrada
enlaFigura1.Laventanapuedenolucirexactamente
comoensusistema,perolas
diferenciasdeberíansermenores.

3.3Creandoobjetos
Resumen: Paracrearunobjeto,seleccioneunconstructordelmenúemergentedela clase.
UnadelascaracterísticasfundamentalesdeBlueJ esqueustednopuedeejecutar únicamente
una
aplicación
directamente,
sino
quetambiéndebeinteractuardirectamente
conobjetossimplespertenecientesacualquierclasey,
ejecutarsusmétodospúblicos.
UnaejecuciónenBlueJnormalmenteserealizacreandounobjetoyluegoinvocando
unodelosmétodosdelobjeto.Estoesmuyútilduranteeldesarrollodeunaaplicación–
usted
puede probar clases individualmente tan prontocomohayansidoescritas.No hay
necesidaddeescribirprimerolaaplicación.
Notaalpie:Losmétodosestáticospuedenserejecutadosdirectamentesincrearprimero
unobjeto.Unodelosmétodosestáticospuedeser“main”,asípodemoshacerlomismo
quenormalmente
pasaenlasaplicaciones
–iniciarunaaplicaciónsóloejecutandoun
métodoestático
main.Regresaremosaestoluego.Primero,haremosalgunasotrascosas,
cosasmásinteresanteslascualesnormalmenteno puedenserrealizadasen losentornos Java.

Los cuadros que se ven en la parte central de la ventana principal ( etiquetados
Database,Person,StaffyStudent)soniconosrepresentandolasclasesinvolucradasen
esta
aplicación.Ustedpuedeobtenerunmenúconoperaciones,aplicableauna
clase
haciendocliceneliconodelaclaseconelbotónderechodelratón(Macintosh:ctrl.-clic 1)
(Figura2).Lasoperacionesmostradassonoperaciones newconcadaunodelos
1

Dondesemencioneclicderechoenestetutorial,losusuariosMacintoshdeberíanleerlocomoctrl.-clic.

9
Comenzando-edit/compile/execute
constructores definidos para
proporcionadasporelentorno.

esta

clase(primero)seguidasporalgunasoperaciones

Figura2:OperacionesdeClase( menúemergente)

QueremoscrearunobjetoStaff,
asíusteddeberíahacerclicderechosobreeliconode
Staff
(locualhacequeemerjaelmenúmostradoenlaFigura2).Elmenúmuestrados
constructoresparacrearunobjetoStaff,unoconparámetrosyotrosinellos.
Primero,
seleccioneelconstructorsinparámetros.Aparecelaventanadediálogomostradaenla Figura3.

Figura3:CreacióndeObjetosinparámetros

1
0
Comenzando-edit/compile/execute

Estaventanadediálogopreguntaporunnombreparaelobjetoasercreado.Al
mismo
tiempo,sesugiereunnombrepordefecto
(staff_1).Estenombrepordefectoeslo
suficientementebuenoporahora,asíquesólohagaclicenOK.UnobjetoStaff será creado.
Desdequeelobjetohasidocreado,
élsecolocaeneláreadeobjetos(Figura4
estodolonecesarioparacrearunobjeto:seleccioneunconstructordelmenúdela
clase,ejecúteloyustedtendráelobjetoeneláreadeobjetos.

).Esto

Figura4:UnObjetosobreeláreadeObjetos

Ustedpuedehabernotadoquela
clasePersonestáetiquetadacomo
<<abstract>>(éstaesunaclaseabstracta). Ustednotará(silotratadeprobar)quenopuedecrear
objetosdesdeclasesabstractas(comolaespecificación del lenguajeJava lodefine).

3.4Ejecución
Resumen:Paraejecutarunmétodo,selecciónelodelmenúemergentedelobjeto.
Ahoraquehacreadounobjeto,ustedpuedeejecutarsusoperacionespúblicas.
(Javallamaalasoperacionesmétodos.
)Hagaclicconelbotónderechodelratónsobreel
objetoyemergeunmenúconlasoperacionesdelobjeto(Figura5).Elmenúmuestra
losmétodosdisponiblesparaesteobjetoydosoperacionesespeciales
proporcionadas
porelentorno(InspectyRemove). Discutiremosestoluego.Primero,concentrémonos en los
métodos.

1
1
Comenzando-edit/compile/execute

Figura5:ElmenúdeObjeto

UstedvequeexistenlosmétodosgetRoomysetRoomloscualesconfiguranyretornan
elnúmerodelahabitaciónparaestemiembrodelstaff.
Hagaunllamadoa
getRoom.
Simplementeselecciónelodesumenúdeobjetoyésteseejecutará.Una
ventana
de
diálogoaparecemostrandoelresultadodelllamado(Figura6).
Enestecasoelnombre
dice“(unknownroom)”porquenoespecificamosningunahabitaciónparaestapersona.

Figura6:Ventanamostrandoelresultadodeunafunción

Losmétodosheredadosdeunasuperclaseestándisponiblesatravésdeunsubmenú. En la
parte superior del menú emergente de objeto existen dos submenús,uno para los
métodosheredadosdeObjectyotroparalosdePerson(Figura5).Ustedpuedellamar
alosmétodosdePerson(talescomogetName)seleccionándolosdesdeel
submenú.
Pruébelo.Ustednotaráquelarespuestaesigualmentevaga:seresponde“(unknownname)”,de
bido a que nohemosdadounnombrealapersona.
Ahoratratemosdeespecificarunnúmerode
habitación.Estose
mostrarácomoun
llamadoquetieneparámetros.(LosllamadosagetRoomy
getNametienenvaloresde
retorno,pero no parámetros).
Llame
la
funciónsetRoomseleccionándoladelmenú.Unaventanadediálogoaparece
solicitándolequedigiteunparámetro(Figura7).

1
2
Comenzando-edit/compile/execute

Figura7:VentanadeDiálogodelLlamadoaunafunciónconparámetros

Enlapartesuperiordeestaventanadediálogosemuestralainterfazdel
método
a
ser
llamado(incluyendoelcomentarioylasignatura).
Debajodeesto,existeuncampode
entradadetextodondeustedpuededigitarelparámetro.
Lasignaturaalcomienzonos
indicasequeesperaunparámetrodetipoString.
Digitelanuevahabitación,comouna
cadenadecaracteres(incluyendolascomillas)en el campo de texto y haga clic enOK.
Estoestodo–
debidoaqueestemétodonoretornaunparámetro,nohayventana
resaltada.LlamedenuevoalmétodogetRoomparaverificarquelahabitación
realmente
hasidocambiada.
Practique la creación de objetos y el llamado de métodos por un rato.Trate llamando al
constructor con argumentos y llame algunos otros métodos hasta que se familiarice con
estasoperaciones.

3.5Editandounaclase
Resumen: Paraeditarelarchivofuentedeunaclase,hagadobleclicsobresuiconode clase.
Hastaahorahemostratadosolamentesonunainterfazdeobjetos.
Ahoraestiempode
profundizar.UstedpuedeverlaimplementacióndeunaclaseseleccionandoOpen
Editor
desdelasoperacionesdelaclase.(Recuerde:haga clic derecho sobre el icono de la
claseysemuestran
lasoperacionesdelaclase.)Hacerdobleclicsobrelaclaseesun
atajoparalamismafunción.Eleditornosedescribeenmuchodetalledentrodeeste
tutorial,peronoesmuyimportanteparasuuso. Losdetallesdeleditorserándescritos luego.
Porahora,
abralaimplementacióndelaclaseStaff.
Encuentrelaimplementación
delmétodogetRoom.
Elretorna,
comosunombrelosugiere,elnúmerodelahabitación
delmiembrodelstaff.Cambiemoselmétodoagregandoelprefijo“room”alresultadode
lafunción(asíqueelmétodoretorna,“roomM.3.18”enlugardesólo“M.3.18”).
Podemoshacerestocambiandolalínea
returnroom;

por
return"room" + room;

1
3
Comenzando-edit/compile/execute

BlueJsoportainstruccionesJava
porcompleto
especialacercadecómoimplementesusclases.

ysinmodificar,asíquenohaynada

3.6Compilación
Resumen:
Paracompilarunaclase,hagaclicenelbotónCompileeneleditor.Para
compilarunproyecto,hagaclicenelbotónCompileenlaventanadeproyecto.
Luegodeinsertareltexto(
antesdehacercualquierotracosa),verifique
la
vista
del
proyecto(ventana principal ).Ustednotaráquehacambiadoeliconodeclaseparala claseStaff:
élahoraestárayado.
Laaparienciarayadamarcalasclasesquenohansido
compiladasdesdeelúltimocambio.Regresealeditor.
Notaallado:Usteddebepreguntarse porquélosiconosdeclasenofueronrayados cuando usted
abrió por primera vez este proyecto. Estoesporque lasclasesen el proyecto People fueron
distribuidas
estando
compiladas.
A
menudo
los
proyectosen
BlueJsondistribuidossincompilar,asíqueesperevermásclasessincompilaral
abrirun
porprimeravezunproyecto.

En la barra de herramientas en la parte superior del editor existen algunos botones con
funcionesutilizadasfrecuentemente.UnodeellosesCompile.
Estafunciónlepermite
compilarestaclasedirectamentedesdeeleditor.AhorahagaclicenelbotónCompile.Si usted no
tuvo ninguna equivocación, un mensaje debería aparecer en el área de información en la
parte
inferior
del
editor,notificándoloquelaclasehasidocompilada.Si
usted
cometióunaequivocaciónquesebasaenunerrordesintaxis,lalíneadeerrores
marcadayunmensajedeerrorsemuestraeneláreadeinformación.(Enelcasode
que
su
compilación funcione correctamente la primera vez, trate de introducir un error de sintaxis
ahora–talcomounpuntoycomafaltante–ycompiledenuevo,observequé aparece)
Luegodequehacompiladoexitosamentelaclase,cierreeleditor.
Labarradeherramientasdelaventanadeproyectotambiéntieneunbotón
Compile.
Estaoperacióncompilaelproyectocompleto.
(Dehecho,
elladeterminacuálesclases
necesitan ser recompiladas y luego recompila aquellas clases en el orden correcto.)
Tratedehacerestocambiandodosomásclases(
detalformaquedosomásclases
aparecenrayadaseneldiagramadeclases)yluegohagaclicenelbotónCompile.Si

1
4
Comenzando-edit/compile/execute
se detectaunerrorenunadelasclasescompiladas,eleditorseabriráylalocalización del errory
el mensaje seránmostrados.
Usted puede notar que el área de objetos está vacía de nuevo.
removidoscada vez que la implementación secambia.

Los objetos son

3.7Ayudaconerroresdelcompilador
Resumen:Paraobtenerayudasobreunmensajedeerrordelcompilador,hagaclicenel
símbolodeinterrogacióncercanoalmensajedeerror.
Muy frecuentemente, los estudiantes principiantes tienen dificultad en entender los
mensajesdeerrordelcompilador.Nosotrostratamosdeproporcionaralgunaayuda.
Abraeleditordenuevo,introduzcaunerrorenelcódigofuente,ycompile.Unmensaje
deerror
deberíamostrarseeneláreadeinformacióndeleditor.Enlapartederechadel
áreadeinformaciónapareceunbotónconelsímbolodeinterrogación(?) enelcual usted puede
hacer clic para obtener más información acerca de este tipo de error (Figura8).

Figura8:UnerrordelcompiladoryelbotóndeAyuda(Help)

Enestemomento,lostextosdeayudanoestándisponiblesparatodoslosmensajesde
error.
Algunostextosdeayudaaúnsedebenescribir.
Peroesdifícilhacerlo–muchos
erroresyasehanexplicado. Elrestoseránescritoseincluidosenunafuturaversiónde BlueJ.

1
5
4Haciendoun pocomás...
En
esta
seccióncubriremosalgunasotrascosasqueustedpuedehacerenelentorno.
Cosasquenosonesenciales,peroutilizadasmuycomúnmente.
4.1Inspección
Resumen:
Unobjetopuedeserpasadocomounparámetroaunllamadodeunmétodo
haciendoclicsobreeliconodelobjeto.
Cuando usted ejecuta métodos de un objeto, usted puede haber notado la operación
Inspect,la cual está disponible sobre losobjetosademásdelosmétodosdefinidospara
losusuarios(Figura5).
Estaoperaciónpermiteverificarelestadodelasvariablesde
instancia(“campos”o“fields”)deobjetos.Tratedecrearunobjetoconalgunosvalores
definidosporelusuario(e.j.unobjetoStaffquetieneparámetrosen
elconstructor). Luego
seleccione Inspect del menú de objeto. Una ventana de diálogo aparece
mostrandoloscamposdeobjeto,sustiposysusvalores(Figura9).

Figura9:VentanadediálogodeInspección

La inspección es útil para verificar rápidamente que una operación mutadora (una
operaciónquecambiaelestadodeunobjeto
)fueejecutadacorrectamente.Así,la
inspecciónesunaherramientasimpledetraceo.
En el ejemplo con la clase Staff, todos los campos son tipos de datos simples
(cualesquieraquenoseanobjetosocadenasdecaracteres).
Elvalordeestostipos
puedesermostradodirectamente.Ustedpuedeverinmediatamentesielconstructor
ha
realizadoslasasignacionescorrectas.

16
Haciendounpocomás…
Encasosmáscomplejos,losvalores
deloscampospuedenserreferenciasaobjetos
definidosporelusuario.
Paraunejemplodetalcasousaremosotroproyecto.Abrael
proyectopeople2,elcualseincluyetambiénenladistribuciónestándarde
BlueJ.La
ventanadelescritoriodepeople2semuestraenlaFigura10.Comoustedpuedever,
estesegundoejemplotieneunaclase Addressademásde las clases vistas previamente.
UnodeloscamposenlaclasePersonesdeltipoAddress,definidoporelusuario.

Figura10:LaVentanadelproyectopeople2

Paralosiguientequequeremosprobar–inspección
concamposdeobjeto–cree
objetoStaffyluegollameelmétodosetAddressdeesteobjeto(usted lo encontrará
submenúdelosmétodosheredadosdePerson).Digiteunadirección.Internamente,el
códigodeStaffcreaunobjetodeclaseAddressyloalmacenaensucampoaddress.

un
en el

Ahora,inspeccioneelobjetoStaff.
Laventanadediálogodelainspecciónresultantese
muestraenlaFigura11.Loscamposdentrodelobjeto
Staffahoraincluyenaddress.
Comoustedpuedever,suvalorsemuestracomo<objectreference>–debidoaque
esteobjetoescomplejo,
definidoporelusuario,
suvalornopuedesermostrado
directamenteenestalista.Paraexaminarluego,seleccioneelcampoaddressenlalista
yhagaclicenelbotónInspectenlaventanadediálogo.(Ustedtambiénpuedehacer

17
Haciendounpocomás…
dobleclicenelcampoaddress.)Otraventanadeinspecciónsedesplegará,mostrando
losdetallesdelobjetoAddress(Figura12).

Figura11:Inspecciónconreferenciaaobjeto

Figura12:Inspeccióndeobjetointerno

18
Haciendounpocomás…
Sielcamposeleccionadoespúblico,entoncesenvezdehacerclicen
Inspect,usted también
podría seleccionar el campo address y hacer clic en el botónGet. Esta operación coloca
el
objeto
seleccionado
en
el
área
de
objeto.
Allí
usted
puede
examinarlomásafondohaciendollamadosasusmétodos.

4.2Pasandoobjetoscomoparámetros
Resumen:
internodeeseobjeto.

Lainspeccióndeunobjetopermiteunsimpletraceo,verificandoelestado

Losobjetospuedenserpasadosalosmétodosdeotrosobjetos.Probemos
con
un
ejemplo.CreeunobjetodelaclaseDatabase.(UstednotaráquelaclaseDatabase
tienesólounconstructor,
elcualnotieneparámetros,
asílaconstruccióndeunobjetoes
fácilyrápida.)ElobjetoDatabasetienelahabilidaddealmacenarunalistadepersonas. El tiene
operaciones
para
agregar
objetos
de
tipoPersonymostrartodaslaspersonas
almacenadasactualmente.(LlamarloactualmenteDatabasees un poco exagerado!)
SiustednotieneyaunobjetoStaffoStudenteneláreadeobjeto,
creeunodeestos
objetostambién.Para lo siguiente,usted debe teneralmismotiempounobjetoDatabase
yunobjetoStaffoStudenteneláreadeobjetos.
AhorahagaelllamadoalmétodoaddPersondelobjetoDatabase.Lasignaturaleindica
queseesperaunparámetrodetipoPerson.(Recuerde:laclasePersonesabstracta, entonces
no hay objetos directamente instanciados del tipoPerson.Sinoque,debidoala
herencia,losobjetosStudentyStaffsepuedensustituirporobjetosPerson.Entonceses
permitidounStudentoStaffdondeseesperaunobjetoPerson.)Parapasarelobjeto,el
cualustedtieneeneláreadeobjetos,como parámetroalllamadoqueustedestá
haciendo,ustedpuededigitarsunombreenelcampodelparámetroo,comounatajo,
hagaclicenelobjeto.Estoagregaelnombredentrodelaventanadediálogodel
método.HagaclicenelbotónOKyluegoelllamadoserealiza.Debidoaquenohay
valorretornadoparaestemétodo,novemoselresultadoinmediatamente.Ustedpuede llamar el
método listAll sobre el objeto Database para verificar que la operación
realmenteseprodujo.LaoperaciónlistAllescribelaoperacióndelapersonaenlasalida
estándar.Ustednotaráqueunaventanadeterminaldetextoseabreautomáticamente
paramostrareltexto.
Hagadenuevoestoconmásdeunapersonaalmacenadaen“database”.

19
5 Creandoun nuevoproyecto
Estecapítuloloconduceporuntourrápidosobrelaconfiguracióndeunnuevoproyecto.

5.1Creandoeldirectoriodelproyecto
Resumen:Paracrearunproyecto,seleccionarNew...delmenúProject.
Paracrearunnuevoproyecto,seleccioneProject–New...delmenú.Unaventanadediálogo
de
selección de archivo se abre paradejarleespecificarelnombreylalocalizacióndel nuevo
proyecto.Tratedehacerestoahora.Ustedpuedeescogercualquiernombrepara
suproyecto.LuegodehacerclicenelbotónOK,undirectorioserácreadoconelnombre
queustedespecificó,ylaventanaprincipalmuestraelnuevoproyecto,vacío.

5.2Creandoclases
Resumen:Paracrearunaclase,hagaclicelbotónNewClassyespecifiqueelnombre delaclase.
AhoraustedpuedecambiarsusclaseshaciendoclicenelbotónNewClassubicadoen
labarradeherramientasdelproyecto.
Selesolicitaráunnombreparalaclase–este
nombretienequeserunidentificadorJavaválido.
Usted también puede escoger entre cuatro tipos de clases: abstract, interface, applet o
“standard”. Esta selección determina cuálesqueletodecódigosecreainicialmentepara
suclase.
Ustedpuedecambiareltipodelaclaseluego,
editandoelcódigofuente(
por
ejemplo,agregandolapalabraclave“abstract”enelcódigo).
Despuésdecrearunaclase,
ellaesrepresentadaporuniconoeneldiagrama.
Siellano
esunaclaseestándar,eltipo(interface,abstract,oapplet
)seindicaeneliconodela
clase.Cuandoustedabreeleditorparaunanuevaclase,ustednotaráquese
creaun
esqueletopordefectoparaunaclase–estodeberíafacilitarelcomienzodeltrabajo.
El
códigopordefectoescorrectosintácticamente.
Ellapuedesercompilada(peronohace
mucho).Tratedecrearalgunaspocasclasesycompilarlas.

5.3Creandodependencias
Resumen:Paracrearunaflecha,hagaclicenelbotóndelaflechayarrastrelaflechaen
eldiagrama,osóloescribaelcódigofuenteeneleditor.
Eldiagramadeclasesmuestradependenciasentreclasesenlaformadeflechas. Las relaciones
de
herencia
(“extends”
o
“implements”
)semuestrancomoflechascon
cabezatriangular;lasrelacionesdeuso,“uses”,semuestrancomo
flechassimples.

20
Creandounnuevoproyecto
Ustedpuedeagregardependenciasyaseagráficamente(directamenteeneldiagrama)
otextualmenteenelcódigofuente.
Siustedagregaunaflechagráficamente,seactualiza
elcódigofuenteautomáticamente;siustedagregaunadependenciaenelcódigo,
el
diagramaseactualiza.
Paraagregarunaflechagráficamente,hagaclicenelbotóndelaflechaapropiada
(flechaconcabezatriangularpara“extends”o“implements”,flechasimplepara“uses”)
yarrastrelaflechadeunaclaseaotra.
Agregandounaflechadeherenciaseinsertaunadefinición“extends”o“implements”en
elcódigofuentedelaclase(dependiendosielobjetivo es una clase o una interfaz).
Agregandounaflecha“uses”
nocambiainmediatamenteelcódigo(amenosqueel
objetivoseaunaclasedeotropaquete.Entalcasosegeneraunainstrucción“import”, pero no
hemos visto eso
aún
en
los
ejemplos
).Teniendo una flecha “uses”enel
diagramaqueapunteaunaclasequeactualmente esusadaenelcódigo,generará luego un
mensaje de alerta avisando que la relación “uses” hacia
una
clase
fue
declaradaperolaclasenuncafueutilizada.
Agregar las flechas en el texto es fácil:sólo digite el código como usted lo hace
normalmente.Tanprontocomolaclaseesguardada,
eldiagramaseactualiza.(y
recuerde:cerrandoeleditorautomáticamenteseguardaelcódigo.)

5.4Removiendoelementos
Resumen: Para remover una clase, seleccione la función Remove de su menú
emergente.Pararemoverunaflecha,seleccioneRemovedelmenúEdityhagaclicenla flecha.
Pararemoverunaclasedeldiagrama,seleccionelaclaseyluegoseleccioneRemove
ClassdelmenúEdit.UstedtambiénpuedeseleccionarRemovedelmenúemergentede la clase.
Para remover una flecha, seleccione Remove
Arrow del menú y luego
seleccionelaflechaquedeseeremover.

21
6Traceando
Estasecciónintroducelosaspectosmásimportantesdelafuncionalidad de traceo en BlueJ.
Encharlasconprofesoresdecomputación,nosotroshemosescuchadomuya
menudo
el
comentario que el uso de un traceador en primer año de enseñanza sería recomendable,
pero no hay tiempo suficiente para introducirlo.Losestudiantestrabajan coneleditor,
compilador y la ejecución; noexistemástiempoparaintroducirotra herramientacomplicada.
Estaeslarazónpor la que hemos decidido hacer el traceador tan simple como sea
posible.Lametaesteneruntraceadorqueustedpuedaexplicaren15minutos,yque
los
estudiantes sólo lo usen luego o en posteriores instrucciones. Observemossisetuvo éxito.
Primeroquetodo,hemosreducidolafuncionalidaddelostraceadorestradicionalesa trestareas:
-configurarpuntosdeparada(breakpoints)
-avanzarpasoapasoatravésdelcódigo
-inspeccionarvariables
Porlotanto,cadaunadeestastrestareasesmuysimple.Ahoraprobaremoscadauna deellas.
Para comenzar,abra el proyecto debugdemo,el cual está incluido en el directorio
examples enladistribucióndeBluej.Esteproyectocontieneunaspocasclasesparael único
propósito de demostrar la funcionalidad del traceador – deotramaneraeste
proyectonotendríamuchosentido.

6.1Configurandopuntosdeparada
Resumen:
Paraconfigurarunpuntodeparada(breakpoint),hagacliceneláreadel
puntodeparadaalaizquierdadeltextodeleditor.
Configurar un punto deparadalepermiteinterrumpirlaejecuciónenciertopuntoenel código.
Cuandolaejecuciónseinterrumpe,usted
puede
investigar
el
estado
de
sus
objetos.Estoamenudoleayudaaentenderquéestápasandoensucódigo.
Eneleditor,alaizquierdadeltexto,estáeláreadepuntosdeparada(Figura13). Usted puede
configurar un punto de parada haciendo
clic
dentro
de
esta
área.Un
pequeñosignostopapareceparamarcarelpuntodeparada.
Pruebeestoahora.
Abrala
claseDemo,
encuentreelmétodoloop,
yconfigureunpuntodeparadaenalgúnlugar
dentrodelciclofor.Elsignostopdeberíaaparecer
en
sueditor.

22
Traceando

Figura13:Puntodeparada

Cuando una línea de código es alcanzada y tiene un punto de parada asociado,
entonceslaejecuciónesinterrumpida.Pruébeloahora.
CreeunobjetodelaclaseDemoyllamealmétodoloopconunparámetro,porejemplo,
10.Tanprontocomoelpuntodeparadasealcanza,laventanadeleditoremerge,
mostrandolalíneadecódigoactual,yunaventanadeltraceadoremerge.SeveráalgocomolaFigu
ra14.

Figura14:VentanadelTraceador

Lalíneamarcadaeneleditorindicalalíneaqueseráejecutadaluego.(Laejecuciónse
detieneantesqueestalíneaseaejecutada.)

23
Traceando
6.2Pasoapasoatravésdelcódigo
Resumen:Parairpasoapasoatravésdelcódigo,uselosbotonesStep yStepIntodel traceador.
Ahoraquehemosdetenidolaejecución(
lacualnosconvencequeelmétodorealmente
sepuedeejecutaryqueestepuntoenelcódigosealcanza),podemosavanzarcon
pasossimplesatravésdelcódigoyvercómoprogresalaejecución.Parahaceresto,
hagaclicrepetidamenteenel
botón
Stepdentrodelaventanadeltraceador.Usted
deberíaverlalíneadecódigocambiandodentrodeleditor
(lamarcadelíneasemueve
conlalíneaqueseejecuta).Cadavezqueustedhaceclicenelbotón
Step,unalínea
simpledecódigoseejecutaylaejecuciónsedetienedenuevo.
Notetambién
que
los
valoresdelasvariablesmostradasenlaventanadeltraceadorcambian(
porejemploel
valordesum.)Asíustedpuedeejecutarpasoapasoyobservarquépasa.Cuando se canse de
esto,ustedpuedehacerclicenelpuntodeparadade
nuevo
para
removerlo,y
luegoclicenelbotón
Continuedentrodelaventanadeltraceadorparareiniciarla
ejecuciónycontinuarnormalmente.
Probemosdenuevoconotrométodo.
métodocarTest( ), enlalíneaquedice

ConfigureunpuntodeparadaenlaclaseDemo,

places=myCar.seats( );

Llamealmétodo.
Cuandosealcanzaelpuntodeparada,ustedestáapuntodeejecutar
unalíneaquecontieneunllamadoaunmétodo,elmétodoseats( ) enlaclaseCar. Haciendo clic
enStep se podría pasar sobre la línea completa.Probemoseneste momentoStepInto.
Siustedpasadentrodeunllamadoalmétodo,
entoncesentraenel
métodoyejecutalaslíneaspertenecientesaesemétodolíneaporlínea(no
comoun
simplepaso). Enestecaso,ustedseencuentradentrodelmétodoseats( )enlaclase Car.
Ustedahorapuedepasarfelizmenteatravésdeestemétodo
hasta
que
alcanceel
finalyretornealmétodoquelollamó.Notecómoeltraceadormuestraloscambios.
StepyStepIntosecomportanigualsi la línea actual no contiene llamadosamétodos.

6.3Inspeccionandovariables
Resumen:
traceador.

Inspeccionarvariablesesfácil–ellassonmostradasautomáticamenteenel

Cuando usted tracea su código es importante estar habilitado para inspeccionar el
estadodesusobjetos(variableslocalesyvariablesdeinstancia ).
Hacer
esto
es
trivial–lamayoríadecosasyalashavisto.Ustednonecesitacomandos
especialesparainspeccionarvariables,variables estáticas, variables de instancia del
objetoactualyvariableslocalesdelmétodoactual,siempretodas
son
automáticamente
mostradas
y
actualizadas.

24
Traceando

Ustedpuedeseleccionarmétodosenlasecuenciadellamadoparavervariablesdeotros
métodosyobjetosactivosactualmente. Pruebe, porejemplo, un punto deparadaenel
métodocarTest(
),denuevo.Enelladoizquierdodelaventanadeltraceador,ustedve
lasecuenciadellamado.Elactualmentemuestra
Car.seats
Demo.carTest

indica queCar.seatsfue llamada por Demo.carTest.Ustedpuedeseleccionar
Demo.carTestenestalistaparainspeccionarelcódigofuenteylosvaloresactualesde
las
Esto

variables en este método.
Siustedpasaporlalíneaquecontienelainstrucción
newCar(...),ustedpuede
observarqueelvalordela
variable
localmyCarsemuestracomo<objectreference>.
Todoslosvaloresdetipoobjeto(
exceptoparalosString)
semuestrandeestamanera.
Ustedpuedeinspeccionarestavariablehaciendodobleclicsobreella.Haciendo
esto
abriráunaventanadeinspeccióndeobjetoidenticaaladescritaanteriormente(sección
4.1).Noexistediferenciarealentreinspeccionarobjetosaquíeinspeccionarobjetosen
eláreadeobjetos.

6.4Detener y terminar
Resumen:Deteneryterminar(Halt–Terminate)puedenserutilizadosparadeteneruna
ejecución temporal o permanentemente.
Algunasvecesunprogramaestáejecutándosepormuchotiempo,yusteddebeadivinar
sitodoestáfuncionandobien.Quizásexisteuncicloinfinito,quizásesteprocesotoma
muchotiempo.
Bien,
podemosverificar.Llameelmétodolongloop(
)delaclaseDemo.
Estaejecucióndemoraunmomento.
Ahoraqueremossaberquéesloquepasa.Muestrelaventanadeltraceador,siaúnno
seencuentraenlapantalla.(Deotromodo,hagaclicenel
símbolocambianteque
indicaquelamáquinaseestáejecutando,esteesunatajoparamostrareltraceador.)
AhorahagaclicenelbotónHalt.Laejecuciónseinterrumpetalcomosituviéramosun
puntodeparada.Ustedahorapuedepasaralgunaslíneas,observelas
variables,yvea
quetodoestábien–estonecesitasólounpocomásdetiempoparacompletarse.Usted
puede
escoger sólo algunas veces Continue y
Halt para ver qué tan rápido está
contando.Siustednodeseaseguir(porejemplo,ustedhadescubiertoqueseencuentra
realmenteenuncicloinfinito)ustedpuedesólopresionarTerminatepara
terminar
la
ejecucióntotal.Terminatenodebería
serutilizadomuyfrecuentemente–ustedpuede dejar
objetos
escritosperfectamenteenunestadoconsistenteparaterminarlamáquina,
asíqueesaconsejableusarlosólocomounmecanismodeemergencia.

25
7Creandoaplicacionesdeescritorio
Resumen:Paracrearunaaplicacióndeescritorio,useProject-Export...
BlueJpuedecreararchivosjarejecutables.Los archivos jar ejecutables pueden
ejecutadosenalgunossistemashaciendadobleclicenelarchivo
(porejemplo
WindowsyMacOSX),outilizandoelcomandojava-jar<file-name>.jar(Unixo
DOSprompt).

ser
en

Probaremos esto con el proyecto de ejemplo hello. Abralo ( está en el directorio
examples ). Asegúrese de que el proyecto está compilado. Seleccione la función
Export... delmenúProject.
Unaventanadediálogoseabreparadejarleespecificarelformatode
almacenamiento(
Figura15).Escoja"jarfile"paracrearunarchivosjarejecutable.Paracrearelarchivo
jarejecutable,ustedtambiéntienequeespecificarunaclaseprincipal“mainclass”.Esta
clasedebetenerdefinidoun
métodomainválido(conlasignatura
publicstatic
voidmain(String[]args)).

Figura15:Laventanadediálogoparaexportar("Export")

Ennuestroejemplo,laseleccióndelaclaseprincipalesfácil:sóloexisteunaclase.
SeleccioneHellodelmenúemergente.
Siustedtieneotrosproyectos,seleccionelaclase
quetieneelmétodo"main"queusteddeseaejecutar.
Usualmente,ustednodeberíaincluirlosarchivosfuenteenarchivosejecutables.
ustedpuede,sitambiéndeseadistribuirsusarchivosfuente.

Pero

26
CreandoAplicacionesdeEscritorio
Hagaclicen
Continue.Luego,ustedveráunaventanadediálogoparaselecciónde
archivosquelepermiteespecificarunnombreparaelarchivojarasercreado.Digite
helloyhagaclicenOK.Lacreacióndelarchivoejecutablejarsehacompletado.
UstedpuedehacerdobleclicenelarchivojarsólosilaaplicaciónusaunainterfazGUI.
NuestroejemplousatextodeE/S,asíquedebemosiniciarladesdeunaterminalde
texto.Tratedeejecutarelarchivojarahora.
Abraunaventanadeterminaloventanade
DOS.Luegovayaaldirectoriodondeusted
guardósuarchivojar(
usteddeberíaverunarchivohello.jar).
AsumiendoqueJavaestá
instaladocorrectamenteensusistema, entoncesusteddeberíaestarencapacidadde digitar
java-jarhello.jar

paraejecutarelarchivo.

27
8 Creandoapplets

8.1Ejecutandounapplet
Resumen:Para ejecutar un applet, seleccione Run Applet del menú emergente del
applet.
BlueJpermitecrearyejecutarappletsaligualquelasaplicaciones.
Hemosincluidoun
appleteneldirectorioexamplesenladistribucióndeBluej.Primero,queremostratarde
ejecutarunapplet.Abraelproyectoappletdemodeldirectorioexamples.
Ustedveráqueesteproyectotienesólounaclase; ellasellamaCaseConverter. Elicono de
clase está marcado ( con la etiqueta <<applet>>) como un applet.
Luego de
compilarla,seleccioneelcomandoRunAppletdelmenúemergentedelaclase.
Unaventanadediálogoemergeparapermitirlehaceralgunasselecciones(Figura16).

Figura16:VentanadeDiálogoparaejecutarapplets("RunApplet")

Ustedvequetienelaoportunidaddeescogerlaejecucióndelappletenunnavegador
(browser)oen
appletviewer(osólogenerarlapáginawebsinejecutarla).Dejela
configuraciónquevienepordefectoyhagaclicenOK.Luegodeunospocossegundos,

28
Creandoapplets
un visor de applets emergerá mostrando el applet de conversión de mayúsculas y
minúsculas“caseconverter”.
ElvisordeappletsappletviewerestáinstaladojuntoconelJDK,asísegarantizaquesea la misma
versión de su compilador Java. Este visor generalmente causa menos
problemasquelosnavegadores.Sunavegadorwebpuedeejecutarunaversióndiferente
deJavay,dependiendodecuálversiónuseelnavegador, puedecausarproblemas. Con la
mayoría de los navegadoresactualesdeberíafuncionarbien,secree.
EnsistemasMicrosoftWindows
yMacOS,BlueJusasunavegadorpordefecto.En
sistemasUnix,elnavegadoresdefinidoenlaconfiguracióndeBlueJ.

8.2Creandounapplet
Resumen:Paracrearunapplet,hagaclicenelbotón NewClassyseleccioneApplet
comoeltipodeclase.
Luegodehabervistocómoejecutarunapplet,queremos crear uno propio.
CreeunanuevaclaseconAppletcomoeltipodeclase(ustedpuedeseleccionareltipo
enlaventanadediálogodeNewClass).Compile,luegoejecuteelapplet.Esoes!Eso
noestuvotanmal,noesasí?
LosApplets(como
otrasclases)
songeneradosconunesqueletodeclasepordefecto
quecontieneciertocódigoválido.Paralos applets,estecódigomuestraunsimpleapplet con dos
líneas de texto.Ustedahorapuedeabrireleditoryeditarelappletparainsertar supropiocódigo.
Ustedveráquetodoslosmétodos
comunesdelappletestánallí,cadaunoconuna
explicacióncomocomentarioexplicandosupropósito.Todoelcódigodeejemploestá
enelmétodopaint.

8.3Probandoelapplet
Enalgunassituacionespuedeserútilcrearunobjetoappleteneláreadeobjetos(como
paralasclasesnormales).Ustedpuedehaceresto–elconstructorsemuestraen
el
menúemergentedelapplet.Desdeeláreadeobjetoustednopuedeejecutarelapplet
por
completo,
peroustedpuedellamaralgunosmétodos.Estopuedeserútilparaprobar
métodossimplesqueustedhayaescritocomopartedelaimplementacióndesuapplet.

29
9 OtrasOperaciones

9.1AbriendopaquetesquenosondeBlueJenBlueJ
Resumen:PaquetesnoBlueJpuedenserabiertosconelcomandoProject:OpenNon
BlueJ….
BlueJlepermiteabrirpaquetesexistentesquefueroncreadosfuerade
BlueJ.Para
haceresto,seleccione
Project – Open Non BlueJ... delmenú.Seleccioneeldirectorioque
contienelosarchivosfuentedeJava,luegohagaclicenelbotónOpeninBlueJ.Elsistema
lepedirálaconfirmaciónacercadesiustedquiereabrirestedirectorio.

9.2Agregandoclasesexistentesasuproyecto
Resumen:
Lasclasespuedensercopiadasenunproyectodesdeafuerautilizandoel
comandoAddClassfromFile....
A
menudo,ustedquiereusarclasesqueustedteníananteriormenteeincluirlasensus
proyectosdeBlueJ.
Porejemplo,unprofesorpuededarelcódigodeunaclaseenJavaasusestudiantes, para ser
utilizada en un proyecto.Ustedpuedeincorporarfácilmenteunaclaseexistente en su
proyecto seleccionando Edit – Add Class from File... del menú. Estolepermitirá seleccionar
unarchivo fuenteJava (con un nombre terminado en.java )para ser importado.
Cuandolaclaseesimportadaenelproyecto,unacopiaes
tomada
yalmacenadaenel
directorioactualdelproyecto.Elefectoesexactamenteel mismoasiustedhubiera creado esta
clase y hubiese escrito todo su código fuente.
Una
alternativa
esagregarelcódigofuentedelanuevaclasealdirectoriodelproyecto
desdefueradeBlueJ.
Lapróximavezqueustedabraesteproyecto,laclase
será
incluidaeneldiagramadelproyecto.
9.3Llamandoamainyaotrosmétodosestáticos
Resumen: Los métodos estáticos ( static ) pueden ser llamados desde el menú
emergentedelaclase.
Abraelproyectohellodeldirectorioexamples.Laúnicaclaseexistenteenelproyecto
(claseHello)defineunmétodomainestándar.

30
OtrasOperaciones
Hagaclicderechosobrelaclase,yustedveráque
elmenúdelaclaseincluyeno
solamenteelconstructordelaclase,
sinotambiénelmétodoestáticomain.
Ustedpuede
ahorallamardirectamenteelmétodomaindesdeestemenú(sincrearprimeroun
objeto,comoseesperaríaparaunmétodoestático).
Todos
los
métodos
estáticospuedenserllamadoscomoeldescritoanteriormente.El
métodoestándarmain
esperaunarreglodeStringcomoargumento.Ustedpuedepasar
unarreglodeString,usandolasintaxisestándardeJavaparaarreglosdeconstantes.
Porejemplo,ustedpodríapasar
{"one","two","three"}

(incluyendolasllaves)almétodo.Pruébelo!

9.4Generandoladocumentación
Resumen: Para generar la documentación para un proyecto, seleccione Project
DocumentationdelmenúTools.
Ustedpuedegenerarladocumentaciónparasuproyecto
e.j.elformatoestándarde
javadocdesdeBlueJ.ParahacerestoseleccioneenelmenúTools-ProjectDocumentation.
Estafuncióngeneraráladocumentaciónparatodaslasclasesen
un
proyectodesde
el
códigofuentedelasclasesyabreunnavegadorwebparamostrarlo.
Usted también puede ver y generar la documentación para una clase directamente
desdeeleditorde
BlueJ.Parahaceresto,
abraeleditoryuseelmenúemergenteenla
barradeherramientasdeleditor.CambielaseleccióndeImplementationaInterface.
Estomostraráelestilodedocumentaciónjavadoc(lainterfazdelaclase)enel editor.

9.5Trabajandoconlibrerías
Resumen:LaAPIestándardeclasesdeJavapuedeservisualizadaseleccionando
Help-JavaStandardLibraries.
Frecuentemente,cuandoustedescribeunprogramaenJava,ustedtienequereferirsea
las
librerías estándar de Java. Usted puede abrir un navegador webmostrandola
documentacióndela API delJDKseleccionandoHelp- Java Standard Classesdelmenú(si
ustedestáenlíneaeninternet).
Ladocumentacióndel
JDKtambiénpuedeserinstaladayusadalocalmente(fuerade
línea).LosdetallessonexplicadosenlaseccióndeayudasdelsitiowebdeBlueJ.

31
OtrasOperaciones

9.6Creandoobjetosdesdelibreríasdeclases
Resumen:Paracrearobjetosdesde la librería de clases, useTools–UseLibraryClass.
BlueJtambiénofreceunafunciónparacrearobjetosdesdeclasesquenosonpartede
suproyecto,sinodefinidasenunalibrería.Ustedpuede, porejemplo,crear objetosdela
claseStringo
ArrayList.Estopuedesermuyútilparaunaexperimentaciónrápidacon
estosobjetosdelibrerías.
UstedpuedecrearunobjetodelibreríaseleccionandoTools–Use Library Class…delmenú. Una
ventana de diálogo emerge solicitando que sea digitado un nombre declase
completamenteválido,talcomojava.lang.String.
(Notequeusteddebedigitarelnombre
completamenteválido,
estoes,elnombreincluyendolosnombresdelospaquetesque
contienenlaclase.)
El
campodeentradatieneasociadounmenúemergentemostrandolasclasesusadas
recientemente.
Despuésqueunnombredeclasehasidoentrado,presionandoEnterse
mostrarántodoslosconstructoresymétodosestáticos deestaclaseenunalistaenla ventana de
diálogo.
Cualquiera de estos constructores o métodos estáticos ahora
puedenserinvocadosseleccionándolosdesdeestalista.
Lainvocaciónprocedecomocualquierotroconstructorollamadoaunmétodo.

32
10RESUMEN

Comenzando
1.
2.
3.
4.
5.

Paraabrirunproyecto,seleccioneOpendelmenúProject.
Paracrearunobjeto,seleccioneunconstructordelmenúemergentedela clase.
Paraejecutarunmétodo,selecciónelodelmenúemergentedelobjeto.
Paraeditarelarchivofuentedeunaclase,hagadobleclicsobresuiconodeclase.
Para compilar una clase, hagaclic enelbotón Compile eneleditor. Paracompilarun
proyecto,hagaclicenelbotónCompileenlaventanadeproyecto.
6. Paraobtenerayudasobreunmensajedeerrordelcompilador,hagaclicenelsímbolode
interrogacióncercanoal mensajedeerror.

Haciendounpocomás...
7. Unobjetopuedeserpasadocomounparámetroaunllamadodeunmétodohaciendoclic
sobreeliconodelobjeto.
8. Lainspeccióndeunobjetopermiteunsimpletraceo,verificandoelestadointernodeese objeto.

CreandounNuevoproyecto
9. Paracrearunproyecto,seleccionarNew...delmenúProject.
10. Paracrearunaclase,hagaclicelbotónNewClassyespecifiqueelnombredelaclase.
11. Paracrearunaflecha,hagaclicenelbotóndelaflechayarrastrelaflechaeneldiagrama,o
sóloescribaelcódigofuenteeneleditor.
12. Pararemoverunaclase,seleccionelafunciónRemovedesumenúemergente.
13. Pararemoverunaflecha,seleccioneRemovedelmenúEdityhagaclicenla flecha.

Traceando
14. Paraconfigurarunpuntodeparada( breakpoint),hagacliceneláreadelpuntodeparadaa
laizquierdadeltextodeleditor.
15. Parairpasoapasoatravésdelcódigo,uselosbotonesStepyStepIntodeltraceador.
16. Inspeccionarvariablesesfácil–ellassonmostradasautomáticamenteeneltraceador.
17. Deteneryterminar (Halt–Terminate)puedenserutilizadosparadetenerunaejecución
temporalopermanentemente.

Creandoaplicacionesdeescritorio
18. Paracrearunaaplicacióndeescritorio,useProject- Export...

Creandoapplets
19. Paraejecutarunapplet,seleccioneRunAppletdelmenúemergentedelapplet.
20. Paracrearunapplet,hagaclicenelbotónNewClassyseleccioneAppletcomoeltipode clase.

33
Sólolosresúmenes
Otrasoperaciones
21. PaquetesnoBlueJpuedenserabiertosconel comandoProject:OpenNonBlueJ….
22. Lasclasespuedensercopiadasenunproyectodesdeafuerautilizandoel comando
AddClassfromFile....
23. Losmétodosestáticos(static) puedenserllamadosdesdeel menúemergentedela clase.
24. Paragenerarla documentación para unproyecto, seleccione ProjectDocumentation del
menúTools.
25. La API estándar de clases de Java puede ser visualizada seleccionando Help -Java
StandardLibraries.
26. Paracrearobjetosdesdela libreríadeclases,useTools–Use LibraryClass.

34
REFERENCIA BIBLIOGRÁFICAS
PÁGINAS WEB
Entorno de bluej. (2010). Internet. En línea. Página consultada el 03 de diciembre de 2013.
Disponible en:
http://www.lab.dit.upm.es/~fprg/2008-2009/entorno/mipc/bluej/index.html
BlueJ.(2013).Internet. En línea. Página consulta el 03 de diciembre de 2013. Disponible en:
http://recursostic.educacion.es/observatorio/web/ca/software/programacion/911monografico-java?start=2
(Autor: Ruíz Alberto)
Entorno de desarrollo BlueJ. (2013). Internet. En línea. Página consultada el 04 de
diciembre de 2013). Disponible en:
http://centrodeartigos.com/articulos-informativos/article_69753.html
(Autor: García Miguel)
Conciendo BlueJ. (2013). Internet. En línea. Página consultada el 04 de diciembre de
2013). Disponible en:
http://bluejava7if01n.blogspot.mx/2012/07/inicios-de-bluej.html

35
36

Más contenido relacionado

La actualidad más candente

La actualidad más candente (16)

7331642 ryle-gilbert-el-concepto-de-lo-mental
7331642 ryle-gilbert-el-concepto-de-lo-mental7331642 ryle-gilbert-el-concepto-de-lo-mental
7331642 ryle-gilbert-el-concepto-de-lo-mental
 
Mkpv álvaro
Mkpv álvaro Mkpv álvaro
Mkpv álvaro
 
Srf 2 2012
Srf 2 2012Srf 2 2012
Srf 2 2012
 
áRea nacional de recreación samanes
áRea nacional de recreación samanesáRea nacional de recreación samanes
áRea nacional de recreación samanes
 
LA GUERRA CIVIL EN LA FRONTERA (1951-1952) Pío Baroja
LA GUERRA CIVIL EN LA FRONTERA (1951-1952) Pío BarojaLA GUERRA CIVIL EN LA FRONTERA (1951-1952) Pío Baroja
LA GUERRA CIVIL EN LA FRONTERA (1951-1952) Pío Baroja
 
Cuentos paulo coelho
Cuentos paulo coelhoCuentos paulo coelho
Cuentos paulo coelho
 
Las máscaras de Satán
Las máscaras de SatánLas máscaras de Satán
Las máscaras de Satán
 
Introduccion a la Cata de Vinos
Introduccion a la Cata de VinosIntroduccion a la Cata de Vinos
Introduccion a la Cata de Vinos
 
Para saber de vinos...
Para saber de vinos...Para saber de vinos...
Para saber de vinos...
 
manual-de-cata-de-vinos
manual-de-cata-de-vinosmanual-de-cata-de-vinos
manual-de-cata-de-vinos
 
Lecciones para masones
Lecciones para masonesLecciones para masones
Lecciones para masones
 
Perdida de la biodiversidad trabajo final pdf
Perdida de la biodiversidad trabajo final pdfPerdida de la biodiversidad trabajo final pdf
Perdida de la biodiversidad trabajo final pdf
 
Perdida de la biodiversidad trabajo final
Perdida de la biodiversidad trabajo finalPerdida de la biodiversidad trabajo final
Perdida de la biodiversidad trabajo final
 
Inteligencia Colectiva
Inteligencia ColectivaInteligencia Colectiva
Inteligencia Colectiva
 
Inteligencia colectiva
Inteligencia colectivaInteligencia colectiva
Inteligencia colectiva
 
Pastos
Pastos Pastos
Pastos
 

Destacado

Tutorial bluej-español
Tutorial bluej-españolTutorial bluej-español
Tutorial bluej-españolYordany Pirela
 
Desarrollo Colaborativo por Jose Rojas
Desarrollo Colaborativo por Jose RojasDesarrollo Colaborativo por Jose Rojas
Desarrollo Colaborativo por Jose RojasJose Rojas
 
Java ejercicio 1
Java   ejercicio 1Java   ejercicio 1
Java ejercicio 1ayreonmx
 
Uso de BlueJ
Uso de BlueJUso de BlueJ
Uso de BlueJanaclos
 
Java – ejercicio 3
Java – ejercicio 3Java – ejercicio 3
Java – ejercicio 3ayreonmx
 
Trabajo colaborativo
Trabajo colaborativoTrabajo colaborativo
Trabajo colaborativoCarla Milani
 
BlueJ
BlueJBlueJ
BlueJda4
 
Instalación de BlueJ
Instalación de BlueJInstalación de BlueJ
Instalación de BlueJnur_stone
 

Destacado (12)

Guia
GuiaGuia
Guia
 
Tutorial bluej-español
Tutorial bluej-españolTutorial bluej-español
Tutorial bluej-español
 
Desarrollo Colaborativo por Jose Rojas
Desarrollo Colaborativo por Jose RojasDesarrollo Colaborativo por Jose Rojas
Desarrollo Colaborativo por Jose Rojas
 
Programas de Java en BlueJ
Programas de Java en BlueJProgramas de Java en BlueJ
Programas de Java en BlueJ
 
Java ejercicio 1
Java   ejercicio 1Java   ejercicio 1
Java ejercicio 1
 
Uso de BlueJ
Uso de BlueJUso de BlueJ
Uso de BlueJ
 
Primer Programa Java en Bluej
Primer Programa Java en BluejPrimer Programa Java en Bluej
Primer Programa Java en Bluej
 
Java – ejercicio 3
Java – ejercicio 3Java – ejercicio 3
Java – ejercicio 3
 
Trabajo colaborativo
Trabajo colaborativoTrabajo colaborativo
Trabajo colaborativo
 
BlueJ
BlueJBlueJ
BlueJ
 
Instalación de BlueJ
Instalación de BlueJInstalación de BlueJ
Instalación de BlueJ
 
Conociendo a BlueJ
Conociendo a BlueJConociendo a BlueJ
Conociendo a BlueJ
 

Similar a Tutorial blue j

Juegos matematicos para primaria y secundaria
Juegos matematicos para primaria y secundariaJuegos matematicos para primaria y secundaria
Juegos matematicos para primaria y secundariamikewanda4
 
Juegos matematicas-infantil-primaria-secundaria
Juegos matematicas-infantil-primaria-secundariaJuegos matematicas-infantil-primaria-secundaria
Juegos matematicas-infantil-primaria-secundariavanessa_math
 
Juegos matematicos para primaria y secundaria
Juegos matematicos para primaria y secundariaJuegos matematicos para primaria y secundaria
Juegos matematicos para primaria y secundariamikewanda4
 
Juegos%20matematicas%20infantil%20primaria%20secundaria
Juegos%20matematicas%20infantil%20primaria%20secundariaJuegos%20matematicas%20infantil%20primaria%20secundaria
Juegos%20matematicas%20infantil%20primaria%20secundariaadakelinmisaelwalter
 
Manual terapeuticaatencionprimaria
Manual terapeuticaatencionprimariaManual terapeuticaatencionprimaria
Manual terapeuticaatencionprimariaRicarte Yrigoin
 
Manual terapeuticaatencionprimaria
Manual terapeuticaatencionprimariaManual terapeuticaatencionprimaria
Manual terapeuticaatencionprimariaIsrael Armando
 
Manual terapeutica atencion primaria
Manual terapeutica atencion primariaManual terapeutica atencion primaria
Manual terapeutica atencion primariamarianella dimoff
 
A1 experiencias educativas en aprendiz. cooperativo
A1 experiencias educativas en aprendiz. cooperativoA1 experiencias educativas en aprendiz. cooperativo
A1 experiencias educativas en aprendiz. cooperativoAulas Fundación Telefónica
 
docsity-manual-terapeutica-en-atencion-primaria.pdf
docsity-manual-terapeutica-en-atencion-primaria.pdfdocsity-manual-terapeutica-en-atencion-primaria.pdf
docsity-manual-terapeutica-en-atencion-primaria.pdfEliseoSuarez2
 
Etologia. j. carranza (editor) - etología, introducción a la ciencia del com...
Etologia.  j. carranza (editor) - etología, introducción a la ciencia del com...Etologia.  j. carranza (editor) - etología, introducción a la ciencia del com...
Etologia. j. carranza (editor) - etología, introducción a la ciencia del com...diogenescannis
 
Unidad II completa alejandra alvarado
Unidad II completa alejandra alvaradoUnidad II completa alejandra alvarado
Unidad II completa alejandra alvaradoJuan J Ivimas
 

Similar a Tutorial blue j (20)

Juegos matematicos para primaria y secundaria
Juegos matematicos para primaria y secundariaJuegos matematicos para primaria y secundaria
Juegos matematicos para primaria y secundaria
 
Juegos matematicas-infantil-primaria-secundaria
Juegos matematicas-infantil-primaria-secundariaJuegos matematicas-infantil-primaria-secundaria
Juegos matematicas-infantil-primaria-secundaria
 
Juegos Matematicas
Juegos MatematicasJuegos Matematicas
Juegos Matematicas
 
Juegos matematicos para primaria y secundaria
Juegos matematicos para primaria y secundariaJuegos matematicos para primaria y secundaria
Juegos matematicos para primaria y secundaria
 
Juegos%20matematicas%20infantil%20primaria%20secundaria
Juegos%20matematicas%20infantil%20primaria%20secundariaJuegos%20matematicas%20infantil%20primaria%20secundaria
Juegos%20matematicas%20infantil%20primaria%20secundaria
 
Manual terapeuticaatencionprimaria
Manual terapeuticaatencionprimariaManual terapeuticaatencionprimaria
Manual terapeuticaatencionprimaria
 
Manual terapeuticaatencionprimaria
Manual terapeuticaatencionprimariaManual terapeuticaatencionprimaria
Manual terapeuticaatencionprimaria
 
Manual terapeutica atencion primaria
Manual terapeutica atencion primariaManual terapeutica atencion primaria
Manual terapeutica atencion primaria
 
Cerebelo
CerebeloCerebelo
Cerebelo
 
1
11
1
 
1
11
1
 
A1 experiencias educativas en aprendiz. cooperativo
A1 experiencias educativas en aprendiz. cooperativoA1 experiencias educativas en aprendiz. cooperativo
A1 experiencias educativas en aprendiz. cooperativo
 
1
11
1
 
docsity-manual-terapeutica-en-atencion-primaria.pdf
docsity-manual-terapeutica-en-atencion-primaria.pdfdocsity-manual-terapeutica-en-atencion-primaria.pdf
docsity-manual-terapeutica-en-atencion-primaria.pdf
 
Ciencias de la Narturaleza Avanza 1
Ciencias de la Narturaleza Avanza 1Ciencias de la Narturaleza Avanza 1
Ciencias de la Narturaleza Avanza 1
 
Erich Fromm
Erich FrommErich Fromm
Erich Fromm
 
Epistemologia I UNTREF Posgrado
Epistemologia I UNTREF PosgradoEpistemologia I UNTREF Posgrado
Epistemologia I UNTREF Posgrado
 
Etologia. j. carranza (editor) - etología, introducción a la ciencia del com...
Etologia.  j. carranza (editor) - etología, introducción a la ciencia del com...Etologia.  j. carranza (editor) - etología, introducción a la ciencia del com...
Etologia. j. carranza (editor) - etología, introducción a la ciencia del com...
 
Tarea 2
Tarea 2Tarea 2
Tarea 2
 
Unidad II completa alejandra alvarado
Unidad II completa alejandra alvaradoUnidad II completa alejandra alvarado
Unidad II completa alejandra alvarado
 

Tutorial blue j