Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/11/2008, 01:27
GreenEyed
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 7 meses
Puntos: 51
Respuesta: Manejo de excepciones "ClassNotFoundException"

Hola,

Lo importante sería conseguir que la clase principal que tienes no dependiera "estaticamente" de las clases de RXTX. Eso lo puedes hacer, por ejemplo, haciendo una interfaz que declare los metodos que tu vas a llamar cuando uses las clases RXTX y luego haciendo una clase que implemente esa interfaz, y luego ese objeto es el que puedes cargar con Class.forName.

Por ejemplo, vamos a suponer que a través de las librerias necesitas llamar a los metodos abrirPuerto, enviarDatos, recibirDatos y cerrarPuerto. Declaras una interfaz con esos cuatro metodos y desde tu Applet solo puedes trabajar con esa interfaz, nada más.

Luego haces una clase que implemente esa interfaz usando las clases RXTX y su libreria nativa.

En el applet, haces un metodo que carga la clase implementadora usando solo el nombre de la clase como cadena, éste es el metodo que tendrá el try/catch para detectar que RXTX no está bien instalado, y crea una instancia, referenciada unicamente por la interfaz, que es con la que trabajara el applet.

Así es la única forma de que puedas cargar tu applet sin tener instaladas las clases RXTX para poder detectar el error. Por que si declaras directamente alguna referencia a RXTX desde alguna clase que use el Applet, entonces la JVM saltará antes de llegar a ejecutarlo.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.

Última edición por GreenEyed; 14/11/2008 a las 02:35 Razón: Joer, me faltaba un NO bastante importante :-)