HOWTO · Java

Importación de Java de dibujo estándar

Este tutorial demuestra cómo importar stddraw en Java.

En esta página

Para usar StdDraw en un proyecto Java, descarga stdlib.jar de Princeton, añádelo a la ruta de compilación del proyecto e importa la clase en el código fuente Java. Añadir un JAR a Eclipse y escribir una instrucción import son pasos distintos: el primero pone la biblioteca a disposición del compilador y del entorno de ejecución; el segundo permite que el código fuente haga referencia a su clase por su nombre abreviado.

Qué es StdDraw y qué necesitas

StdDraw es una API de dibujo incluida en StdLib de Princeton, una biblioteca que se utiliza en cursos introductorios de programación. Proporciona llamadas para dibujar formas y texto, y establecer colores. StdLib es una dependencia externa; no viene incluida en el JDK ni en el JRE de Java. Necesitas una copia de stdlib.jar y un proyecto Java en Eclipse. Esta guía utiliza el paquete edu.princeton.cs.introcs, como se muestra en la instrucción de importación.

Descargar el JAR de StdLib

Abre la página de StdLib de Princeton y busca stdlib.jar en la lista de bibliotecas. Descarga el archivo JAR. Si quieres guardar las dependencias junto al código fuente, crea una carpeta llamada lib en el proyecto y copia allí el archivo descargado. Así será más fácil localizar el JAR, pero copiarlo no lo añade por sí solo a la ruta de compilación de Eclipse.

La página de StdLib de Princeton muestra clases de la biblioteca y describe stdlib.jar como el conjunto de bibliotecas estándar.

La lista de bibliotecas de la página de Princeton y el contexto de descarga de stdlib.jar.

Añadir stdlib.jar a un proyecto de Eclipse

En Package Explorer, haz clic con el botón derecho en el proyecto y elige Properties (Propiedades). Abre Java Build Path, selecciona Libraries (Bibliotecas) y elige Add JARs… si el archivo está dentro del proyecto, o Add External JARs… si está en otra ubicación. Si usas la carpeta lib del proyecto, despliega el proyecto y selecciona lib/stdlib.jar. Pulsa Apply and Close (Aplicar y cerrar). El JAR debería aparecer entonces entre las entradas de classpath del proyecto. Si Eclipse muestra la pestaña Order and Export, esta controla qué reciben los proyectos dependientes; no es donde se añade el JAR.

Las propiedades del proyecto de Eclipse muestran la pestaña Libraries de Java Build Path con un JAR en Classpath.

La vista Libraries muestra un JAR asociado al classpath del proyecto.

Usar StdDraw en Java

Después de añadir el JAR, importa la clase en el archivo fuente que la utilice. Por ejemplo, un programa de dibujo puede comenzar con import edu.princeton.cs.introcs.StdDraw; y después llamar a StdDraw.setPenColor(StdDraw.BLUE); y a StdDraw.filledCircle(0.5, 0.5, 0.1);. Estas llamadas establecen el color del lápiz en azul y dibujan un círculo relleno, centrado en (0.5, 0.5) y con radio 0.1, dentro del sistema de coordenadas de cuadrado unitario de StdDraw. La instrucción de importación no carga el JAR; de eso se encarga la ruta de compilación del proyecto. Del mismo modo, añadir el JAR no elimina la necesidad de importar la clase en el código fuente.

Usa el siguiente programa Java breve para comprobar si la clase se encuentra en el classpath del programa en ejecución. Informa del resultado de la búsqueda sin necesidad de abrir una ventana gráfica:

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

public class CheckStdDraw {
    public static void main(String[] args) {
        try {
            Class.forName("edu.princeton.cs.introcs.StdDraw");
            System.out.println("StdDraw is available on the classpath.");
        } catch (ClassNotFoundException e) {
            System.out.println("StdDraw is missing from the classpath.");
        }
    }
}

Solucionar errores de configuración habituales

Si Eclipse indica que edu.princeton.cs.introcs no existe o no puede resolver StdDraw, comprueba que el JAR aparezca en Project Properties → Java Build Path → Libraries del mismo proyecto que contiene el código fuente. Si no aparece, añádelo de nuevo y aplica el cambio. Si Eclipse acepta la instrucción de importación, pero al iniciar el programa informa de que falta una clase, comprueba tanto el classpath de la configuración de inicio como la ruta de compilación del proyecto; la dependencia debe estar incluida en ambos.

Comprueba la ortografía y las mayúsculas del nombre del paquete y de la clase. Asegúrate también de haber añadido el JAR descargado, no una página web ni un archivo comprimido que contenga otra biblioteca. Si mueves o cambias el nombre del JAR, actualiza su entrada en la ruta de compilación. Una instrucción Java import solo nombra una clase que ya está disponible para el proyecto; no puede descargar ni reparar una dependencia que falte. Cuando la ruta de compilación y la instrucción de importación sean correctas, podrás usar directamente las llamadas de dibujo de StdDraw.