Para abrir un proyecto, seleccione Open del menú Project. Para crear un objeto, seleccione un constructor del menú emergente de la clase. BlueJ permite interactuar directamente con objetos de cualquier clase ejecutando sus métodos públicos.
6. 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
7. 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
14. 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
15. 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
16. 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
19. 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
20. 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
22. 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
23. 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
25. 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
26. 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
28. 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
29. 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
30. 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
32. 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
34. 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
35. 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