altatorre.com >> Indice
java >> [Anterior
| Siguiente]

|
Nuestro Primer Programa en Java<!-- Usted sabe que ha alcanzado
la perfeccion en el diseño,
no cuando usted no tiene nada que añadir, sino cuando no tiene nada más que quitar. --> <!-- Antoine de Saint Exupery -->.
Esta es una practica para conocer el medio de compilar archivos hechos en Java. Applets y aplicaciones
Vamos a crear una aplicacion y luego vamos a hacer lo mismo con un applet. Verificar la instalacion de JavaEl ambiente de desarrollo que estamos usando es el JDK / Java Development Kit de Sun Mycrosytems. Este software crea un directorio que comienza por las letras jdk, puede llamarse c:\jdk1.1.8, c:\jdk1.2.2 o c:\jdk1.1.7b, dependiendo del que este instalado en su computador. Si no encuentra un directorio con estas caracteristicas su maquina no tiene instalado el software. El software puede encontrarse en http://java.sun.com/produts/jdk/1.2. Este archivo tiene 38 MBytes, entonces es muy pesado para bajar por telefono asi que usted debe comunicarse con su profesor para obtener una version en CD. Creando una aplicacionvolver al inicioNuestro archivo fuente en Java podemos crearlo usando un editor de texto, como puede ser el notepad o el wordpad (Recomendacion: Existe un editor de texto que tiene mejor desempeno llamado Editpad, obtenga una copia del EDITPAD, en http://www.editpadclassic.com, no olvide leer el contrato para obtener el software). Lo primero entonces es crear un archivo de texto con nuestro archivo fuente El programa fuente debe estar en el directorio de java en la carpeta bin, es decir, que si se llama c:\jdk1.1.8, el archivo que vamos a crear debe estar en la carpeta c:\jdk1.1.8\bin. El nombre del archivo debe regirse por el nombre de la clase que vamos a definir. Si la clase se llama aplic1, como sucede en nuestro ejemplo, el archivo debera llamarse aplic1.java. El codigo fuente de nuestro programa (llamado aplic1.java)
esta a continuacion, debera pegarlo dentro del archivo: public class aplic1 {
public static void main (String args[]) {
System. out.println("Miren lo que salió");
}
}
Los programas fuente en java se guardan en archivos con extensión
*.java.
En este caso el programa debe llamarse "aplic1.java". El nombre de la clase en public class aplic1, debe coincidir con el nombre del archivo. Nota1: PARA SABER SI ESTÁ INSTALADO EN SU COMPUTADOR BUSQUE UN ARCHIVO C:\JDK*. Si no existe, entonces no lo tiene instalado. Siempre dentro de ese directorio inicial crea un directorio llamado
bin (en este ejemplo sería c:\jdk1.1.8\bin), donde
se encuentran todos los ejecutables de Java que funcionan bajo DOS:
Cuando iniciamos en java es mejor trabajar en el directorio bin para evitar problemas de directorios en la parte inicial, luego ya podremos movernos a otros directorios. Entendiendo el programaLo primero que hay que hacer es crear un archivo de texto, que puede ser con el WordPad, el notepad o el edit del DOS. Entonces entramos a DOS y abrimos el edit. Creamos un archivo que se llame aplic1.java. Este programa contendrá una definición de clase como la siguiente: public class aplic1 { } Nota: Hay que ver que el nombre del archivo es igual al de la clase que contiene (aplic1). Esto debe ser siempre así. Los programas en Java deben tener un procedimiento main. A continuación para ilustrar los aspectos simples y familiares a Java mostramos el programa aplic1, el programa más simple que usted puede escribir y que haga algo. Aquí está aplic1 implementado en Java. public class aplic1 { Este ejemplo declara una clase llamada aplic1. y estará
guardado en el archivo aplic1.java en el directorio bin. (Listo?)
Compilación del programa
c:\jdk1.1.8\bin> javac aplic1.java Si no devuelve ningún resultado la compilación fue exitosa y podremos pasar al siguiente escalón: la ejecución. El compilador debe haber creado un archivo que se llama *.class. Los archivos *.class son llamados bytecode, y son los ejecutables de Java. Si hace una búsqueda por el disco en busca de ejecutables de Java encontrará varios en su máquina. Para entender un poco más los errores que entrega el compilador
lea el siguiente documento. "Entendiendo los errores comunes
de compilación". Errores Comunes de compilacion en javaAl compilar el programa no deben salir errores pero hay que fijarse en algunas características del compilador. Java es sensible a mayúsculas entonces si usted no escribe el programa con la misma distribucion de mayusculas y minusculas entonces obtendrá un error.Por ejemplo el siguiente programa: public class aplic1 { Obtendrá el siguiente mensaje de error: aplic1.java:2: Class string not found in type declaration.
public static void main (string args[]) {
^
aplic1.java:3: undefined variable, class or package name: system
system.out.println("Mire lo que salió");
^
2 errors
Otro caso es cuando se nombra al archivo de forma diferente a la clase principal. Si el archivo aplic1.java contiene el siguiente código: public class java1 { Se obtendrá el siguiente resultado: aplic1.java:1: Public class java1 must be defined in a file
called "java1.java"
public class java1 {
^
1 error
Ejecución del Programa
c:\jdk1.1.8\bin> java aplic1
Si ha logrado esto quiere decir que no cometió errores de nombres de los archivos y que la instalación funciona correctamente. Esto hace que ya tengamos nuestro primer programa en Java ejecutado.
Ahora vamos a analizar un poco qué es lo que es cada cosa dentro
del programa. Anatomia del Programa aplic1Aunque aplic1 es un ejemplo trivial, es algo intimidante por primera vez. Por necesidad el primer programa debe introducir muchos conceptos nuevos que son la base de JAVA, así como muchos detalles de la sintaxis.Vamos a hacer un análisis de línea a línea del código que se nos ha presentado para entender el prorama. Línea 1: public class aplic1 {Al igual que en C, las definiciones se leen de atrás hacia adelante. La clase que estamos creando es llamada aplic1. Está siendo definida como una clase a través de la palabra clave class. A esa clase se le está además dando el atributo de ser pública a través de la palabra public. finalmente se encuentra la llave { que es la apertura del contenido de la clase y que se cierra en la línea 5. Línea 2: public static void main (String args[ ]) {La segunda línea de este programa en java es complicada por el diseño de Java, que obliga a que no haya funciones globales, solo clases. Esta línea es igual en todos los programas, entonces vamos a estudiarla con detenimiento. Línea 3: System.out.println("Mire lo que salió");Así como se vió en JavaScript, Java tiene un árbol de objetos que usan sus programas. Todos los objetos en Java tienen alguna posición dentro de este árbol. El objeto de entrada a este árbol es java.java -+---- lang :. java.lang
(language: automáticamente importado)
Esta representa muestra una aproximación al árbol de Java (Para ver el árbol de Java Completo vea: Arbol de Jerarquía de Java) y cómo se refleja en el código. lang que es un hijo de java, es llamado como java.lang, net como java.net, etc. Sin embargo java.lang, es un caso especial pues es importado siempre por defecto dentro del programa. Entonces sus componentes no necesitan ser llamados como java.lang.componente El primer objeto de Java que vamos a conocer es java.lang.System que normalmente se llama System ( Más información... ). Dentro de System tenemos un objeto llamado out, y es referido como System.out Dentro de la clase aplic1, declaramos un método sencillo llamado main() que a su vez contiene una invocación de método simple para desplegar la cadena "Hola Juanito!" en la salida standard, que en el DOS es simplemente la pantalla. La frase que imprime "Hola Juanito!" lo hace así invocando el método println del objeto out. El Objeto Out es una variable de clase en la clase System que hace operaciones de salida en archivos. Eso es todo lo que hay en aplic1.
Practica
Creación de un Appletvolver al inicioLos applets se ejecutan a traves de una pagina web, es decir, se debe crear un archivo .java con el notepad y luego un archivo .htm. Luego se debe compilar el .java, usando el javac.exe del directorio \bin y luego abrir la pagina .htm en el browser para poder correr el applet. Vamos a llamar a nuestro archivo miapplet.javaDentro de él vamos a colocar el siguiente código: import java.applet.Applet;
import java.awt.Graphics;
public class miapplet extends Applet {
public void paint(Graphics g){
g.drawString("Hola tu", 50, 25);
}
}
Encontrará más información sobre el objeto importados
al inicio del programa con los enlaces: java.applet.Applet
y java.awt.Graphics.
Compilando el archivo fuente de Java:
La compilación debe crear un archivo llamado miapplet.class.
Si no lo crea algo está mal. Creando la página web:
<HTML> <HEAD> <TITLE> Un applet de Java </TITLE> </HEAD> <BODY> Aquí está la salida de mi programa: <APPLET CODE="miapplet.class" WIDTH=150 HEIGHT=25> </APPLET> </BODY> </HTML> Llamando la página con el applet:Busque la página web que acaba de hacer y ábrala con el browser.Anatomía del Applet de JavaAhora que su applet de Java se ha ejecutado, se estará preguntando cómo funciona. Recuerde que un applet de Java es un programa que se adhiere a un conjunto de convenciones que le permiten correr a través de un navegador compatible.Importando las clases y paquetesLas primeras dos líneas importan dos clases usadas en este applet: Applet y Graphics.import java.applet.Applet;
import java.awt.Graphics;
public class miapplet extends Applet {
public void paint(Graphics g){
g.drawString("Hola tu", 50, 25);
}
}
Para entender esas líneas vamos a hablar de qué pasaría
si no estuvieran. Si se quitaran esas primeras dos líneas, el
applet podría también ejecutarse, pero solo si cambia
el llamado a las clases de la siguiente forma:
public class miapplet extends java.applet.Applet {
public void paint(java.awt.Graphics g){
g.drawString("Hola tu", 50, 25);
}
}
Como se puede ver al importar las clases Applet
y Graphics el programa le permite
llamarlas sin todo el prefijo (p.e. java.applet.Applet).
Los prefijos le dicen al compilador cuales paquetes debería buscar
para encontrar las clases Applet y Graphics. Ambos java.applet
y java.awt son parte
del API de java - El API es el conjutno de programas de java con que
se puede contar en el ambiente.
El paquete java.applet contiene clases que son esenciales para los applets de java. El paquete java.awt contiene las clases más frecuentemente usadas en el Abstract Window Toolkit (AWT), que permite a Java tener una Interfaz gráfica (GUI) como los programas de Windows. Además de importar clases individuales, usted puede importar el paquete entero. A continuación un ejemplo que funciona también: import java.applet.*;
import java.awt.*;
public class miapplet extends Applet {
public void paint(Graphics g){
g.drawString("Hola tu", 50, 25);
}
}
En el Lenguaje Java, todas las clases están en un paquete o package.
Si el código fuente para una clase no tiene una importación
entonces la clase debe pertenecer al grupo por defecto de Java.
Dentro del mismo paquete, todas las clases pueden referirse a las otras sin prefijos. Vea una lista de todos los paquetes disponibles en packages.html Definiendo una subclase de AppletLa primera línea en negrilla del código que está a continuación define la clase miapplet:import java.applet.Applet;
import java.awt.Graphics;
public class miapplet extends Applet {
public void paint(Graphics g){
g.drawString("Hola tu", 50, 25);
}
}
La palabra extends indica que miapplet
es una subclase de la clase nombrada a continuación: Applet.
Subclase significa que es un derivado de una clase anterior.
A partir de la clase Applet, los applets heredan una gran cantidad de funcionalidad. Quizás lo más importante es la habilidad de responder a peticiones del navegador de Internet. Por ejemplo, un navegador capaz de manejar Java carga una página que contiene un applet, el navegador envía una petición al applet, diciendole que se inicialice y comience a ejecutarse. Un applet no está restingido a definir solo una clase. Además
de la subclase de Applet, un applet puede definir clases adicionales
creadas por el programador. Cuando el applet intenta usar una clase,
la aplicación que está ejecutandose primero mira en
el host local. Si la clase no está disponible localmente, es
cargada desde una localización de donde viene la subclase del
Applet. Implementando los métodos del AppletLas líneas en negrilla del código implementan el método paint.import java.applet.Applet;
import java.awt.Graphics;
public class miapplet extends Applet {
public void paint(Graphics g){
g.drawString("Hola tu", 50, 25);
}
}
Todos los applets deben implementar uno o más de los métodos
init, start, y paint.
Además de los métodos init, start, y paint, los applets pueden implementar dos métodos más que el browser llama cuando un evento importante ocurre (tal como salir de la página del applet): stop y destroy. Los Applets pueden implementar cualquier número de otros métodos, también. En el programa que hicimos el objeto Graphics pasado dentro del método paint representa el contexto de dibujo en pantalla del applet. El primer argumento para el método drawString de Graphics es la cadena para dibujar en pantalla. El segundo y tercer parámetro son la posición (x,y) de la esquina izquierda del texto en pantalla. g.drawString("Hola tu", 50, 25); Esta instrucción entonces dibuja la cadena "Hola tu" comenzando
en la posición (50,25). El sistema de coordenadas comienza
en (0,0), que está en la esquina superior izquierda del área
de despliegue del applet. Ejecutando un AppletSe supone que los Applets deben ser incluidos en una página HTML. Usando el tag <APPLET>, usted especifique (como mínimo) la localización de una sublcase Applet y las dimensiones del área de despliegue de los applets en pantalla.<APPLET CODE="miapplet.class" WIDTH=150 HEIGHT=25> </APPLET>El anterior tag <APPLET> especifica que el browser debería cargar la clase miapplet.class. Busca este archivo en el directorio del documento HTML que contiene el tag. Practica
|