Sei sulla pagina 1di 15

Guión 1

Herramienta DrJava
Noviembre de 2005

Fundamentos de la Programación
Curso 2005/2006
Índice
1. Introducción 5

2. Descarga. Requisitos del sistema 5

3. Ejecución 5

4. Edición de código 5
4.1. Panel de definiciones . . . . . . . . . . . . . . . . . . . . . 6
4.2. Panel de archivo(s) . . . . . . . . . . . . . . . . . . . . . . . 7

5. Creación de proyectos 8

6. Panel de interacción 10

7. Compilación 12

8. Depuración 12

9. Documentación 12

10. Apéndice: configuración 12


Fundamentos de la Programación Herramienta DrJava 5

1. Introducción
DrJava es un entorno de programación para Java, especialmente pen-
sado para ayudar a los estudiantes a comprender los aspectos relacio-
nados con los principios de la orientación a objetos. No se trata de un
entorno completo de desarrollo. Una de sus principales ventajas radica en
la existencia de una ventana de interacción, que permite probar en vivo y
en directo la validez de ciertas sentencias.
La principal idea subyacente a DrJava es facilitar al máximo su uso, ya
que pretende ayudar todo lo posible a quienes aprenden el lenguaje Java
de programación.

2. Descarga. Requisitos del sistema


La página principal de DrJava es http://drjava.org. Ahı́ pueden
encontrarse varias versiones de esta herramienta. Para cada una de ellas
se diferencian las dedicadas a Linux (Jar file), Windows y MacOS.
La versión instalada en el aula de prácticas es la correspondiente s
a Linux, y se trata de un archivo jar, que puede ejecutarse directamente
mediante el programa java. Sin embargo, para Windows se trata de un
archivo ejecutable usual.

3. Ejecución
En las aulas de prácticas el archivo descargado se encuentra alma-
cenado en el directorio /usr/local. Se trata del archivo drjava-stable-
20050814-2234.jar. La forma de ejecutar la herramienta es mediante el
siguiente comando:

java -jar /usr/local/drjava-stable-20050814-2234.jar

En caso de tener ya creado el archivo java de la clase con la que tra-


bajar, también puede ejecutarse para empezar a trabajar de forma directa
con ella (supongamos que el archivo creado con la clase a editar se de-
nomina Prueba.java):

java -jar /usr/local/drjava-stable-20050814-2234.jar Prueba.java

En Windows simplementa basta con hacer doble clic sobre el archivo


ejecutable correspondiente.

4. Edición de código
El elemento central de la DrJava es un editor de texto, con todas las
herramientas convencionales de este tipo de herramientas. Quizás una de

5
Fundamentos de la Programación Herramienta DrJava 6

las más atractivas sea la presentación del texto coloreado, según la sin-
taxis del lenguaje Java: de esta forma, las palabras reservadas se colo-
rearán de una forma, los comentarios de otra, etc.
La Figura 1 muestra una vista general de DrJava.

Figura 1: Vista general de DrJava

Iremos describiendo una a una sus componentes.

4.1. Panel de definiciones


El panel de definiciones es la ventana principal de DrJava, donde se
muestra el código actualmente editado. A medida que se va escribiendo
el editor ayuda de diversas formas:

Coloreado de palabras según la sintaxis. DrJava colorea de distinta


forma las palabras que se van tecleando, de forma que se ponga de
manifiesto la estructura del programa. Los comentarios se muestran
en color verde, las palabras reservadas (como class, void, static, etc)
en color azul, las cadenas de caracteres en rojo y los caracteres en
morado. Para cualquier otro texto se usará el color negro.

6
Fundamentos de la Programación Herramienta DrJava 7

Indentación automática. La clave de la indentación en Java es el uso


del tabulador. En lugar de insertar un tabulador o espacios en blan-
co, al pulsar sobre el tabulador se producirá la correcta indentación
de todo el código. Por defecto, se emplean dos espacios en blanco
para cada nuevo nivel de indentación, y esta será la opción que se
use. Este será el estándar de presentación que se use, a todos los
efectos, en la entrega de las prácticas de la asignatura.

Emparejamiento de paréntesis y llaves. De forma automática, DrJa-


va resalta la sección contenida entre paréntesis y llaves, ayudando
ası́ a controlar que su inserción y cierre se corresponden de forma
adecuada.

Introducción de comentarios. DrJava ayuda a que la introducción de


comentarios al código se haga de la forma más sencilla posible. En
los comentarios multilı́nea (aquellos que comienzan por /* y terminan
por */) DrJava inserta el carácter * al producirse un salto de lı́nea. In-
cluso da la posibilidad de realizar de forma automática la marca de
fin de comentario. Conviene activa esta opción, de la forma siguien-
te:

1. Seleccionad la opción Preferences, en la barra de menú Edit.


Esto hará que aparezca la ventana mostrada en la Figura 2. En
ella deberı́a activarse (en la imagen ya aparece activa) la opción
Automatically Close Block Comments, dentro del conjunto de
opciones denominadas como Miscellaneous.

Figura 2: Ventana de preferencias de DrJava

4.2. Panel de archivo(s)


El panel presente a la izquierda muestra los archivos abiertos con los
que se puede trabajar. La Figura 3 muestra que los dos archivos abiertos
actualmente son Jugador.java y Equipo.java.

7
Fundamentos de la Programación Herramienta DrJava 8

Figura 3: Trabajo con varios archivos a la vez

En la parte inferior aparece una ventana que permite visualizar la in-


formación de tres pestañas diferentes: interacciones (donde, como ya se
verá, se pueden ejecutar directamente sentencias, sin necesidad de dis-
poner de un método main), consola (donde se irá mostrando la salida
del programa: todo lo impreso mediante la sentencia System.out.println())
y salida del compilador (donde se mostrarán los errores presentes en
el código y detectados por el compilador). El panel de interacciones se
verá con más detalle en una sección especı́fica (6).

5. Creación de proyectos
DrJava incluye la posibilidad de gestionar programas compuestos por
múltiples archivos mediante proyectos. Mediante este facilidad es posible
guardar toda la información sobre las clases involucradas en un archivo
de proyecto, de forma que al abrirlo se abren también, de forma inmediata,
el código de las clases que lo componen.
Respecto a los proyectos se dispone de las siguientes operaciones:
Crear nuevos proyectos. Para crear un proyecto nuevo basta con

8
Fundamentos de la Programación Herramienta DrJava 9

seleccionar la opción New en el menú Project. Al pulsar aquı́ apare-


cerá una nueva ventana en que dar el nombre del proyecto a crear.
Como ejemplo, crearemos un proyecto llamado Practica3, donde in-
cluiremos los archivos Jugador.java y Equipo.java.

Figura 4: Creación del proyecto Practica3

Ahora se agregan los dos archivos antes mencionados. Se mues-


tra cómo se agregarı́a uno de ellos en la Figura 5. Para ello bas-
tarı́a con pulsar sobre el icono de carpeta de la ventana de la iz-
quierda, en que se muestra la estructura del proyecto creado, con el
botón derecho del ratón. Seleccionando la opción Open File in Fol-
der aprecerá una ventana en que seleccionar el archivo a agregar al
proyecto.

Figura 5: Agregando archivo a proyecto

Una vez creado el proyecto se pueden salvar todos los cambios rea-
lizados en los archivos que lo componen. Para ello se selecciona la
opción Save en el menú Project, o bien pinchando en el icono Save
sobre la ventana de edición.
Abrir un proyecto previamente creado, seleccionando la opción Open
en el menú Project.

9
Fundamentos de la Programación Herramienta DrJava 10

Compilar el proyecto. La opción Compile Project, del menú Project,


permite compilar de forma completa el proyecto. Esto hará qie se
realice la compilación de todos los archivos java que compongan el
proyecto y que hubieran sido modificados desde la compilación pre-
via. También pueden compilarse de forma separada los archivos que
integran el proyecto. Para ello basta con pulsar con el botón derecho
del ratón sobre el icono que representa al archivo, en la ventana de
la derecha, y seleccionar la opción Compile Current Document.

Indicar cuál es la clase que contiene al método main. Para ello se


selecciona la opción Project Properties, en el menú Project. Esto
hará aparecer la ventana de edición de propiedades, tal y como se
muestra en la Figura 6.

Figura 6: Definiendo la clase que contiene el método main

Ejecutar el proyecto: seleccionar la opción Run Main Document, en


el menú Project. Al pulsar sobre esta opción se ejecutará el método
main de la clase definida como contenedora del mismo, tal y como
se indicó en el punto anterior.

6. Panel de interacción
Una de las caracterı́sticas más sobresalientes de DrJava es la posibi-
lidad de interactuar con el código de las clases, sin necesidad de ofrecer
la implementación de un método main. Esto permite probar el efecto de
introducir ciertas sentencias, antes de incluirlas de forma definitiva en el
código de la clase en construcción.
Las sentencias pueden teclearse incluyendo el punto y coma del fi-
nal o excluyéndolo. Veamos algunos ejemplos de interacción, junto con el
resultado producido.

Comenzamos tecleando, en la ventana de interacción, la siguiente


sentencia:

String cadena="Prueba con cadena de caracteres";

El resultado obtenido, al escribir ahora cadena, es el indicado en la


Figura 7.

10
Fundamentos de la Programación Herramienta DrJava 11

Figura 7: Interacción con cadena de caracteres

Ahora, a todos los efectos, cadena es un objeto de la clase String,


sobre el que se pueden probar todos los métodos disponibles para
los objetos de esta clase. Por ejemplo, aplicar el método length()
para determinar el número de caracteres que componen la cadena
(ver Figura 8).

También es posible utilizar la funcionalidad de Java asociada a la


construcción de interfaces de usuario. Por ejemplo, al teclear:

import java.swing.*;
JFrame marco=new JFrame("Mi ventana de aplicación");
marco,show();

provoca la aparición de un marco de aplicación con el tı́tulo indicado,


como se aprecia en la Figura 9.

Y por supuesto, podemos crear objetos de las clases definidas por


nosotros. Por ejemplo, puede crearse un objeto de la clase Jugador,
sin más que utilizar alguno de sus constructores. Si se usa el cons-
tructor por defecto, podremos posteriormente comprobar el valor de
sus datos miembros (ver Figura 10).
En este caso, vemos como DrJava muestra el valor devuelto por el
método obtenerFicha(), sin necesidad de tener que recogerlo en una
variable para poder mostrarlo.

Las lı́neas probadas en la ventana de interacción pueden incorporarse


fácilmente a los archivos de clase abiertos. Para ello basta con seleccionar
la opción Lisft Current Interaction to Definitions en el menú contextual de la

11
Fundamentos de la Programación Herramienta DrJava 12

Figura 8: Interacción con cadena de caracteres

Figura 9: Interacción con clases de interfaz gráfica

ventana de interacciones, y activado al pulsar con el botón de la derecha


sobre ella.

7. Compilación
Los compiladores de Java comprueban la existencia de errores en los
programas y los traducen a ficheros .class. Cada vez que se cambie un
fichero fuente, debe ser compilado antes de usarlo. Para hacer esto en
DrJava, simplemente debes pinchar en Çompile All”, en la barra de herra-
mientas. Cualquier error resultante será resaltado en el código fuente.
Ası́, para compilar ficheros, debes pinchar en los botones Çompile All.o
en Çompile Current Document”, de la barra de herramientas. Después de
que esta acción se haya llevado a cabo satisfactoriamente, el ”Interaction

12
Fundamentos de la Programación Herramienta DrJava 13

Figura 10: Interacción con clase Jugador

Pane”se resetea para que se puedan usar con los nuevos ficheros .class.
La salida del Çonsole Tab”también se reseata para comenzar una nueva
sesión.
Antes de compilar, los ficheros deben estar salvados. No es aconseja-
ble modificar un fichero fuente cuando se estén monstrando los errores,
pues las lı́neas resaltadas pueden corresponder con la lı́neas donde exis-
te realmente el error.
Si el compilador encuentra algún error en el programa, DrJava lo mues-
tra en la pestaña Çompiler Output.en la parte baja de la ventana. Se mues-
tra en la lista un resumen de cada error, incluyendo el nombre del fichero
y el número de lı́nea. Si se pincha con el ratón cualquier error se resalta la
lı́nea en el fichero fuente donde se ha producido (si se encuentran errores
en un fichero que no se esté editado o esté cargado, se carga en el edi-
tor directamente). De manera análoga, si el cursor se mueve a una lı́nea
de código que contiene un error mientras la pestaña Çompiler Output”se
muestra, ésta y el correspondiente mensaje de error quedan resaltados.

8. Depuración
DrJava ofrece herramientas avanzadas para la depuración de progra-
mas en el ”Interaction Pane”. Se pueden fijar puntos de ruptura (break-
points) en los ficheros fuente en el ”Definitions Pane”, llamar a métodos
que se paran en los puntos de ruptura e interactuar con los programas
mientras están suspendidos en los puntos de ruptura. Concretamente en
esta situación, los usuarios pueden intractuar con cualquier variable, da-
to miembro o métodos que estén en el ámbito corrspondiente. El usuario

13
Fundamentos de la Programación Herramienta DrJava 14

puede continuar la ejecución normal del programa o ir ejecutándolo paso


a paso (lı́nea a lı́nea).
Para utilizar el depurador de DrJava, se debe seleccionar el manda-
to ”Debug Mode.en el menú ”Debugger”. Un panel informatiov se mos-
trará entre el ”Definitions Pane el ”Interactions Pane”. También se habili-
2

tarán varios items del menú ”Debugger”.


Cuando se está utilizado el depurador, cualquier modificación de los
ficheros fuentes no se reflejará en la propia depuración hasta que se com-
pile el programa de nuevo. Además, si se hace algún cambio las lı́neas
resaltadas no corresponderán con las del código fuente.

8.1. Puntos de ruptura


Una vez que DrJava está en modo de depuración, se pueden esta-
blecer puntos de ruptura en casi cualquier lı́nea del código fuente en el
”Definition Pane”, por medio del mandato ”Toggle Breakpoint on Current
Line”del menú ”Debugger.o mendiante ”Toggle Breakpoint.en el menú de
contexto (botón derecho del ratón) estando en el ”Definition Pane”.
Cuando se establece un punto de ruptura, la lı́nea se resalta en rojo y
una nueva entrada aparecerá en la tabla de puntos de ruptura del panel de
depuración. Un punto de ruptura se alcanza cuando el método se llama en
el ”Interations Pane el flujo de control alcanza la lı́nea de código donde
2

se ha puesto el punto de ruptura. Cuando esto ocurre la lı́nea se resalta


en azul.
Sólo se pueden poner puntos de ruptura en lı́neas que tengan código
ejecutable. Ası́, en lı́neas en blanco o comentarios nunca podrá habilitarse
un punto de ruptura.
Cuando se alcanza un punto de ruptura, el ”Interaction Pane”se habili-
ta, poseyendo el contexto del programa que ha sido suspendido, incluyen-
do todas las variables, campos y métodos dentro del ámbito del método
suspendido. Se puede teclear el nombre de cualquier variable o campo
para ver su valor o asignar uno nuevo, o llamar cualquier método dentro
del ámbito para observar su conducta. Todos los cambios se reflejan en
el programa en el momento en que continúe su ejecución.

8.2. Ejecución paso a paso y reanudación de la misma


Cuando DrJava alcanza un punto de ruptura, el método se suspende.
Varios mandatos de los menús ”Debug ”Debug Panel”se habilitan para
2

su uso. Si se elige Resume”(Reanudación), el fichero suspendido finali-


zará su ejecución, como mı́nimo hasta que alcance otro punto de ruptura.
También se pueden usar los mandatos ”Step”del menú ”Debug”para
ejecutar paso a paso una lı́nea. Cada vez que se da un paso, el depurador
resaltará la siguiente lı́nea que se ejecutará.
Las posibilidades existente son las siguientes:

Step Into. Se introduce en las llamadas a métodos.

Step Over. Ejecutará la instrucción de la lı́nea sin entrar en llamadas.

14
Fundamentos de la Programación Herramienta DrJava 15

Step Out. Finalizará la ejecución de método actual y parará en la


siguiente lı́nea de código después de la llamada del método.

8.3. El panel de Depuración


Este panel aparece cuando el modo de depuración está activado. Dr-
Java muestra todos los puntos de ruptura organizados por medio de un
árbol, ası́ como los datos miembros y variables que estén viendo en ese
momento. El ”Stack tab”(Pila) muestra la traza de la pila del programa en
el momento en el que el programa se suspende y el ”Thread tab”(Hebra)
muestra todas las hebras en el punto de tiempo concreto.
Las variables y datos miembros se pueden ver introduciéndo su nom-
bre en una fila de la tabla ”Watches”. Análogamente también se puden
eliminar una vez que ya no sean útiles.

9. Documentación
Documentar el código es crucial para que otras personas pueden en-
terderlo, y también para ayudar a recordar al propio programador como
funcinan programas antiguos. Ası́, es muy útil escribir comentarios dentro
del propio código fuente, donde pueden ser fácilmente modificados cuan-
do se cambie el código.
Javadoc es una herramienta que define el formato estándar para esos
comentarios, la cual también genera ficheros HTML para ver la documen-
tación en un navegador web.
DrJava ofrece la posibilidad de ejecutar Javadoc sobre el código fuente
deseado mediante los mandatos ”Javadoc All Documents ”Preview Java-
2

doc for Current Document”del menú ”Tools”. Éstos mandatos generarán


ficheros HTML a partir de los comentarios escritos y los mostrará en un
navegador.
Para aprender cómo documentar con Javadoc, remitimos al lector al
enlace http://java.sun.com/j2se/javadoc/writingdoccomments/index.html
En DrJava, la opción ”Javadoc All Documents”generará las páginas
HTML de manera conjunta de todos los ficheros fuente que estén situados
en el directorio y en sus respectivos subdirectorios de manera automáti-
ca, creando un directorio ”doc”donde se almacena toda la documentación
generada.
Otra alternativa es el mandato ”Preview Javadoc for Current Docu-
ment”, el cual genera la documentación para una única clase sin guardarla
en disco.
Cuando cualquiera de estas dos alternativas para generar la documen-
tación se ha llevado a cabo con éxito, DrJava muestra los resultados en
una ventana correspondiente a un navegador.

10. Apéndice: configuración

15

Potrebbero piacerti anche