!uan Manuel Clmeno !ose Luls Conzlez Cue es neLbeans? n8 es un enLorno lnLegrado de desarrollo o luL (lnLegraLed uevelopmenL LnvlronmenL) Ln el podemos reallzar Lodas las Lareas asocladas a la programacln LdlLar el cdlgo Compllarlo L[ecuLarlo uepurarlo or que usarlo? Slmpllca alguna de las Lareas que, sobreLodo en proyecLos grandes, son Ledlosas nos aslsLe (parclalmenLe) en la escrlLura de cdlgo, aunque no nos llbera de aprender el lengua[e de programacln nos ayuda en la navegacln de las clases predenldas en la plaLaforma (mlles) Aunque puede ser cosLoso su aprendlza[e, los beneclos superan las dlculLades La plaLaforma !ava hup://download.oracle.com/[avase/6/docs/ aso de compllacln lmporL acm.program.Consolerogram,
class Pellorogram exLends Consolerogram [ publlc vold run() [ prlnLln(Pello World"), } } Pellorogram.[ava !" $% &" &% '' '' '' () '' *+ '" '' ', '' '% '" '' '+ '' '$ '- '' *' '- '' ** (! ./ .% ./ -+ (% '* '' '( )0 )/ ,. '* .$ .+ ., '* '' '$ +! ./ .% ., +% -, .1 ,+ .* .) .! ., '* '' '( -) -, .% '* '' -, -) .( ., +. ./ .! ., '* '' ** +0 ., 222222222 Pellorogram.class [avac acm.[ar 8lblloLecas predenldas aso de e[ecucln !" $% &" &% '' '' '' () '' *+ '" '' ', '' '% '" '' '+ '' '$ '- '' *' '- '' ** (! ./ .% ./ -+ (% '* '' '( )0 )/ ,. '* .$ .+ ., '* '' '$ +! ./ .% ., +% -, .1 ,+ .* .) .! ., '* '' '( -) -, .% '* '' -, -) .( ., +. ./ .! ., '* '' ** +0 ., 222222222 Pellorogram.class [ava acm.[ar 8lblloLecas predenldas ne||orogram L[ecucln en la mqulna vlrLual de !ava nombre de la clase prlnclpal (Maln Class) Pello World CAkGA DL UN kCLC1C LkIS1LN1L ConcepLo de proyecLo neLbeans no Lraba[a a nlvel de archlvo slno a nlvel de proyecLo un proyecLo lncluye Lodos los recursos necesarlos para consLrulr un programa: Archlvos con el cdlgo 8lblloLecas exLernas (p.e. ACM 1ask lorce) lmgenes, sonldos, eLc. !"#$%&'()*( un proyecLo neLbeans no es ms que un dlrecLorlo con una organlzacln especlal. L[emplo: Pellorogram 8lblloLecas exLernas uso lnLerno de neLbeans Cd|go Iava (esta parte es |a que os toca hacer) CLros archlvos auxlllares Carga de un proyecLo Carga de un proyecLo Ll proyecLo prlnclpal es aquel en el que esLs Lraba[ando acLualmenLe vlsLa de royecLos normalmenLe usamos la vlsLa lglca de los royectos Sl selecclonamos Pellorogram.[ava esLe se abre en el edlLor Zona de edlcln L[ecuLar el proyecLo L[ecuLar el proyecLo INS1ALACICN DL LA 8I8LIC1LCA ACM ACM 1ask lorce Las blblloLecas predenldas de la plaLaforma !ava no esLn pensadas para su uso en cursos de programacln bslca or ello se crearon las blblloLecas de la ACM 1ask lorce, para slmpllcar algunos aspecLos Ll problema es que los enLornos de programacln normalmenLe no las lncluyen or LanLo hemos de congurarlas rlmer paso Abrlmos el neLbeans (deberla esLar lnsLalado LanLo en Wlndows como en Llnux) Ln el menu nerram|entas selecclonamos 8|b||otecas Segundo paso una vez ablerLo el Adm|n|strador de 8|b||otecas, pulsamos en Nueva 8|b||oteca 1ercer paso Ln la panLalla Nueva 8|b||oteca le ponemos el nombre, ACM1I ulsls Aceptar CuarLo paso Selecclonamos Agregar arch|vo IAk]Carpeta desde el Adm|n|strador de b|b||otecas CulnLo paso Selecclonamos el archlvo acm.[ar medlanLe el selecLor de cheros (C!C: no se coplar en los dlrecLorlos de neLbeans) SexLo paso Ahora hemos de anadlr la documenLacln de la blblloLeca, por ello selecclonamos Iavadoc y pulsamos Agregar arch|vo 2I]Carpeta Sepumo paso Selecclonamos el archlvo acm-[avadoc.z|p en el selecLor de cheros y pulsamos Agregar arch|vo 2I]Carpeta aso nal or n pulsamos acepLar para agregar la nueva blblloLeca y su documenLacln en el enLorno neLbeans. Conguracln anLes de empezar 8lbllLecas ACM1l CkLACICN DL UN NULVC kCLC1C Conslderaclones prevlas Ln n8 exlsLen muchas maneras de consegulr lo mlsmo Lo que mosLraremos es una de ellas, que he selecclonado por varlas razones: Los proyecLos resulLanLes no cop|an los archlvos de la blblloLeca de ACM, ya que ocupan basLanLe espaclo Aprendemos funclonalldades de n8 que despues podemos usar para oLros usos royecLo nuevo Selecclonamos royecto Nuevo del menu Arch|vo royecLo nuevo Sl no lo esLuvleran, selecclonamos la CaLegorla Iava y el royecLo Iava App||canon royecLo nuevo Me[or de[arlos desmarcados LsLrucLura del proyecLo uespues del pulsar 1erm|nar se crea un nuevo proyecLo en el rea de proyecLo LsLe proyecLo no lncluye aun nlnguna clase 8lblloLeca ACM Lmpecemos creando una clase Anadlendo una clase Abrlmos el menu conLexLual sobre el <paquete predeterm|nado> Selecclonamos Nuevo y C|ase Iava
Anadlendo una clase no haremos caso de la adverLencla LsLrucLura de la clase creada vemos que la clase se ha anadldo al proyecLo y se ha ablerLo en el edlLor Ahora ya podemos edlLarla y modlcarla LdlLando la clase Anadlmos que la clase exuende Console rogram, pero . ... el enLorno nos lndlca que no conoce la clase Consolerogram Ls normal, ya que no hemos lncluldo la blblloLeca ACM1l Anadlmos la blblloLeca ACM1l Sobre el aparLado 8|b||otecas del proyecLo selecclonamos Agregar b|b||oteca Anadlmos la blblloLeca ACM1l Selecclonamos la blblloLeca ACM1l que hemos denldo anLerlormenLe Ahora ya podemos lmporLarla odemos anadlr el lmporL dlrecLamenLe o usando las sugerenclas de correccln del neLbeans L[ecuLemos el proyecLo Sl e[ecuLamos el proyecLo nos enconLramos con una sorpresa: no exlsLe una clase prlnclpal Accedlendo a las propledades de un proyecLo Abrlmos el menu conLexLual asoclado al proyecLo y selecclonamos el elemenLo rop|edades Modlcamos las propledades Selecclonamos la caLegorla L[ecutar e lndlcamos el nombre de la clase prlnclpal. volvemos a e[ecuLar . }}} ? por n Lodo funclona Lal y como esperbamos !!!
SCLUCICNLS A kC8LLMAS CCMUNLS Abrlmos un proyecLo pero la blblloLeca no esL congurada 8lblloLeca no denlda Sl la blblloLeca no esL denlda (o lo esL con un nombre dlferenLe) Segulmos las lndlcaclones Abrlmos el menu conLexLual del proyecLo y selecclonamos keso|ver prob|emas de referenc|as. Se nos lndlcan los deLalles Slempre hay que leer la lnformacln sobre el error ulsamos keso|ver uamos de alLa la blblloLeca ? problema resuelLo Ln el proyecLo la blblloLeca uene oLro nombre La blblloLeca uene oLro nombre Ls poslble que qulen hlzo el proyecLo us un nombre dlferenLe para referlrse a la blblloLeca (p.e. MyACM) Lo que Lendremos que hacer es lo slgulenLe: Lllmlnar la referencla a la blblloLeca con el nombre de qulen hlzo el proyecLo Anadlr la blblloLeca con el nombre que le hemos dado nosoLros Lrror al cargar el proyecLo Como ya hemos vlsLo sl lnLenLamos cargar el proyecLo, dar rob|ema de referenc|as no uene ahora senudo denlr la blblloLeca MyACM ya que Lenemos la ACM1I Modlcacln de las propledades Abrlmos el menu conLexLual del proyecLo y selecclonamos rop|edades Lllmlnamos la dependencla a MyACM Selecclonamos 8|b||otecas Selecclonamos MyACM ulsamos L||m|nar Anadlmos la dependencla a ACM1l ulsamos Aad|r b|b||oteca Selecclonamos ACM1I ulsamos Aceptar no encuenLro las venLanas Pe perdldo la venLana ! Los paneles y venLanas del neLbeans son compleLamenLe congurables Se pueden exLraer como venLanas lndependlenLes Se pueden lconlcar en los laLerales Las pesLanas se pueden reordenar Se pueden ellmlnar LsLa exlbllldad es buena pero a veces pulsamos algo por error y no sabemos que hacer Ll boLn del pnlco " Ln el menu Ventana, selecclonamos kestaurar ventana y se reconguran las venLanas a su conguracln esLndar. INICkMACICN ADICICNAL Cula de lnsLalacln de neLbeans (CaLaln, CasLellano, lngles) royecLo neLbeans: hup://neLbeans.org