Foro de elhacker.net

Programación => Java => Mensaje iniciado por: d4x73r en 28 Julio 2014, 22:19 pm



Título: Problemas con .jar
Publicado por: d4x73r en 28 Julio 2014, 22:19 pm
Hola tengo un problema al generar un .jar en eclipse

tengo el siguiente código

private void teclaPresionada(int tecla){
      
      if (tecla == 10){
         label.setText("Se presiono Enter");
         graf.dibujarPersonaje();
         graf.repaint();
      }
      
      if (tecla == 37){
         label.setText("Se presiono Izquierda");
         graf.dibujarFondo();
         graf.repaint();
      
      }
      
      if (tecla == 39){
         label.setText("Se presiono Derecha");
      }
      
      if (tecla == 40){
         label.setText("Se presiono Abajo");
      }      
      
      if (tecla == 38){
         label.setText("Se presiono Arriba");
      }
   }

Y cuando lo ejecuto en eclipse no tengo problemas, el problema es cuando genero el .jar, nunca me muestra "Se preseiono Enter" ni "Se presiono Izquierda", el tema es que si le borro la linea graf.repaint();  y genero el .jar si me funciona pero obviamente no dibuja la imagen ! Alguien tiene idea de como solucionarlo??? por favor ya intente de todo y ya nose como solucionarlo !


Título: Re: Problemas con .jar
Publicado por: ThinkByYourself en 29 Julio 2014, 00:22 am
Hola d4x73r,

No sé si te funcionará, pero puedes probar haciendo un:
Código
  1. repaint();
con el JFrame y con el JTextArea (o el que sea en su lugar).
También con un:
Código
  1. updateUI();
creo que era. O incluso puedes hacer que siempre que se hagan cosas así, hacerlas dentro de...
Código
  1. SwingUtilities.invoke/*NO ME ACUERDO*/
y así te aseguras que no colapsas el hilo de pintado.
Es una respuesta un poco barata, pero eh! Mejor que nada no? xD Siento no poder ser más preciso, pero es fácil que sea algo de esto, porque a mi también me pasaba que se me colapsaba el programa porque no se hacía bien el repintado de la interfaz gráfica, que en Java tiene un hilo propio. Lo dicho, siento no poder ser más preciso, pero espero que de algo sirva.

¡Un saludo!