La web de consultoriajava.com, la web de los auténticos expertos en Java

Ir a inicio

Declaración de objetivos

Contratación

Know-How Java

Know-How de Negocio

Cartas abiertas

Contactar


Servicios habituales

Análisis y Diseño

Aportación de Know-How

Arquitecto J2EE

Auditoria de Proyectos

Extreme Programming

Formación experta

Gestión de proyectos

Preparación de equipos

Refactoring de sistemas

Reingeniería de proyectos

Selección de personal


Ayuda para novatos

Artículos publicados

Ejemplos de código

English   Castellano

Repositorio de consultas

Repositorio de consultas y dudas en Java

Atención: Está visitando una sección de nuestro sitio redactada en nuestro tiempo libre dedicada a programadores en apuros, si precisa de soporte experto pongase en contacto con nosotros. Solo consultas comerciales, muchas gracias.

Eventos que se ejecutan dos veces

Pregunta: En mi codigo java es como si pulsaras dos veces sobre los botones[...]

Causa 1: Tienes que comprobar sobre que evento estás poniendo ese codigo, en java cuando pones codigo en un Listener ese codigo se ejecutará cada vez que se produzca el evento que tu has seleccionado.

Causa 2: Comprueba tambien que no añades dos veces el manejador al boton en cuestión, este es un fallo muy habitual

ClassNotFound con JAXB

Pregunta: Usando JAXB se produce el siguiente error:
javax.xml.bind.JAXBException: Provider com.sun.xml.bind.v2.ContextFactory not found - with linked exception: [java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory]

Respuesta: Por esta linea de aqui:
ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory
Tiene toda la pinta de que te falta la clase que contiene el proveedor de mapeo de xml a java. Esa clase probablemente se encuentre en algun jar. Prueba a buscar en jarhoo.com (desde hace unos meses requiere registrarse).

De cadena a entero

Pregunta: ¿Como paso de cadena a entero?

Respuesta: Usando Integer.parseInt("numero");

Cuando haces el parseInt si lo que pasas como parametro no es un dato numerico se producira una excepcion NumberFormatException.

Mediante un bloque try y catch puedes capturar esa excepcion y en el caso de que se ejecute el codigo del catch significará que el usuario introdujo un caracter no numerico.

Hilos que saturan la CPU

Pregunta: [...] En mi aplicacion tengo dos hilos que matan al micro[...]

Respuesta: Cuando creas hilos debes tener en cuenta que ambos se ejecutan constantemente desde que los arrancas, eso quiere decir que salvo que les indiques especificamente que liberen la CPU de vez en cuando, no dejaran de intentar ocuparla.
En muchos casos se puede solventar el problema durmiendo los hilos de vez en cuando usando algo como esto

sleep(1000); //Duerme un hilo durante un segundo.

Sleep es un metodo que heredas de Thread, asi que (salvo que este simplementando runnable) lo puedes llamar directamente. Si en vez de extends Thread estas implementando runnable entonces tendras que hacer:

Thread.sleep(1000);