martes, 24 de noviembre de 2009

Que es un Applet??

Es otra manera de incluir código a ejecutar en los clientes que visualizan una página web. Se trata de pequeños programas hechos en Java, que se transfieren con las páginas web y que el navegador ejecuta en el espacio de la página.

Los applets de Java están programados en Java y precompilados, es por ello que la manera de trabajar de éstos varía un poco con respecto a los lenguajes de script como Javascript. Los applets son más difíciles de programar que los scripts en Javascript y requerirán unos conocimientos básicos o medios del lenguaje Java.

La principal ventaja de utilizar applets consiste en que son mucho menos dependientes del navegador que los scripts en Javascript, incluso independientes del sistema operativo del ordenador donde se ejecutan. Además, Java es más potente que Javascript, por lo que el número de aplicaciones de los applets podrá ser mayor.


Ciclo de vida.

Para seguir el ciclo de vida de un applet, supondremos que estamos ejecutando en nuestro navegador el applet básico HolaMundo, a través de la página HTML que lo carga y corre.

Lo primero que aparece son los mensajes "initializing... starting...", como resultado de la carga del applet en el navegador. Una vez cargado, lo que sucede es:

Se crea una instancia de la clase que controla al applet
El applet se inicializa a si mismo
Comienza la ejecución del applet

Cuando se abandona la página, por ejemplo, para ir a la siguiente, el applet detiene la ejecución. Cuando se regresa a la página que contiene el applet, se reanuda la ejecución.

Si se utiliza la opción del navegador de Reload, es decir, volver a cargar la página, el applet es descargado y vuelto a cargar. El applet libera todos los recursos que hubiese acaparado, detiene su ejecución y ejecuta su finalizador para realizar un proceso de limpieza final de sus trazas. Después de esto, el applet se descarga de la memoria y vuelve a cargarse volviendo a comenzar su inicialización.

Finalmente, cuando se concluye la ejecución del navegador, o de la aplicación que está visualizando el applet, se detiene la ejecución del applet y se libera toda la memoria y recursos ocupados por el applet antes de salir del navegador.

Webgrafia
http://www.desarrolloweb.com/articulos/731.php
http://www.cica.es/formacion/JavaTut/Cap2/vida.html

MRUV

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author program
*/
public class MovRecUniVar {

Matriz posicion;
Matriz velocidad;
Matriz aceleracion;

public MovRecUniVar(){

}

public MovRecUniVar(Vector3D pos, Vector3D velo, Vector3D ace){
posicion = pos;
velocidad = velo;
aceleracion = ace;
}

public void calculaPosición(Vector3D r0, Vector3D vel,Vector3D a,double t){
posicion = r0.suma(vel.productoVectorEscalar(t)).suma(a.productoVectorEscalar(Math.pow(t,2)/2));

}

public void calculaVelocidad(Vector3D vel0, Vector3D a, double t){
velocidad = vel0.suma(a.productoVectorEscalar(t));

}

public void calculaAceleracion(Vector3D vel, Vector3D vel0, double t){

//aceleracion = a;
aceleracion = (vel.productoVectorEscalar(Math.pow(1,1)/2)).resta(vel0.productoVectorEscalar(Math.pow(1,1)/2));
}
public static void main(String args[]){
MovRecUniVar m = new MovRecUniVar();
Vector3D r0 = new Vector3D(5,0,0);
Vector3D v0 = new Vector3D(0,0,0);
Vector3D a = new Vector3D(3,0,0);
Vector3D v = new Vector3D(10,0,0);
double t = 2;

m.calculaPosición(r0, v0, a, t);
m.calculaVelocidad(v0,a, t);
m.calculaAceleracion(v,v0,t);

System.out.println("Posicion a los 2s para r0 = \n " +m.posicion+
"\nvelocidad a t = 2s\n"+m.velocidad+"\n aceleracion\n"+m.aceleracion );
}

}

Producto Cruz

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author program
*/
public class Matriz {
public int numeroFilas;
public int numeroColumnas;
public double [][]matriz;

public Matriz(){//crea una matriz sin dimensiones

}

//constructor con parametros
//nF es el numero de filas de la matriz
//nC es el numero de columnas de la matriz
public Matriz(int nF, int nC){
numeroFilas=nF;
numeroColumnas=nC;
matriz=new double[numeroFilas][numeroColumnas];
for(int i=0; i for(int j=0; j matriz [i][j]=0;
}

//Transpuesta de la matriz
//el numero de filas se cambia al numero de columnas
public Matriz Transpuesta(){
Matriz resultado;
resultado=new Matriz(this.numeroColumnas,this.numeroFilas);
for(int i=0; i for(int j=0; j resultado.matriz[j][i]=this.matriz[i][j];
return resultado;
}

//multiplicacion de matrices
//el numero de filas de la primera tiene que ser igual al numero de columnas
//de la otra matriz
public Matriz Multiplicacion(Matriz b){
Matriz resultado;
if(b.numeroFilas==this.numeroColumnas){
resultado=new Matriz(this.numeroFilas, b.numeroColumnas);
for(int i=0; i for(int j=0; j for(int k=0; k resultado.matriz[i][j]+=this.matriz[i][k]*b.matriz[k][j];
}
}
return resultado;
}
else
System.out.println("ERROR EN DIMENSIONES DE LAS MATRICES");
resultado=null;
return resultado;
}

public Matriz suma(Matriz b){
Matriz resultado;
//primero revisamos que las filas y las columnas sean iguales
//this referencia a un objeto que au no esta creado pero que alguien algun momento lo va a crear
if((this.numeroFilas == b.numeroFilas)&& (this.numeroColumnas == b.numeroColumnas)){
resultado = new Matriz(this.numeroFilas, this.numeroColumnas);
for(int i=0; i for(int j=0; j resultado.matriz[i][j] = this.matriz[i][j]+ b.matriz[i][j];
return resultado;
}
else
System.out.println("ERROR EN DIMENSIONES DE LAS MATRICES");
resultado=null;
return resultado;
}

//metodo para imprimir las matrices
//devulve el objeto matriz como texto
public String toString(){
String aux="\n[\n";
for(int i=0; i for(int j=0; j aux+=matriz[i][j]+" ";
}
aux+="\n";
}
aux+="]";
return aux;
}

}



//-----------------------------------------------------------


public class Vector3D extends Matriz{
double coordenadaX;
double coordenadaY;
double coordenadaZ;

public Vector3D(){
super(1,3);

}
public Vector3D(double x, double y, double z){

super(1,3);
this.matriz[0][0] = x;
this.matriz[0][1] = y;
this.matriz[0][2] = z;
coordenadaX = x;
coordenadaY = y;
coordenadaZ = z;

}
public double magnitud(){
double resultado = 0;
for(int i=0; i<3; i++)
{
resultado += this.matriz[0][i]*this.matriz[0][i];
}
resultado = Math.sqrt(resultado);return resultado;
}
public Vector3D unitario(){
Vector3D unitario = new Vector3D();
for(int i=0; i<3; i++)unitario.matriz[0][i] = this.matriz[0][i]/this.magnitud2();
return unitario;}
public double productoEscalar(Vector3D v){
double resultado = 0;
for(int i=0; i<3; i++)resultado += this.matriz[0][i]*v.matriz[0][i];
return resultado;
}
public Vector3D productoCruz(Vector3D v){
Vector3D resultado;
resultado = new Vector3D();
resultado.matriz[0][0] = this.matriz[0][1]*v.matriz[0][2]-this.matriz[0][2]*v.matriz[0][1];
resultado.matriz[0][1] = this.matriz[0][2]*v.matriz[0][0]-this.matriz[0][0]*v.matriz[0][2];
resultado.matriz[0][2] = this.matriz[0][0]*v.matriz[0][1]-this.matriz[0][1]*v.matriz[0][0];
return resultado;
}
public static void main(String args[]){
Vector3D v1 = new Vector3D(-3,6,0);
Vector3D v2 = new Vector3D(0,4,5);
System.out.println(v1+"\n"+v2);
System.out.println(" La coordenada X es : "+v1.coordenadaX);
System.out.println("\n Suma de vectores: "+(v1.suma(v2)));
System.out.println("\n Vector magnitud es: "+v1.magnitud());
System.out.println("\n Vector unitario: "+v1.unitario());
System.out.println("\n Producto escalar es: "+v1.productoEscalar(v2));
System.out.println("\n Producto cruz es: "+v1.productoCruz(v2));
}
}