Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/04/2014, 09:45
Avatar de Krain
Krain
 
Fecha de Ingreso: julio-2013
Ubicación: Valencia
Mensajes: 60
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Parpadeo en método Paint

Código Java:
Ver original
  1. if(ke.getKeyCode() == 39 && x + 60 < size().width)  //derecha
  2. {
  3.    x = x+10;
  4. }
Esto, lo mejor es evaluar el KeyEvent con un switch, y usando el método para seleccionar la tecla, así no te toca buscar a que código corresponde cada letra.
Para lo del size().width, no se, yo siempre usé el getWidth(), no sabría decirte cual es mejor y eso.
Te dejo un pequeño ejemplo.
Código Java:
Ver original
  1. public void keyPressed(KeyEvent ke){
  2.    switch(ke.getKeyCode()){
  3.       case KeyEvent.VK_RIGHT:
  4.          if(x + 60 < getWidth()){
  5.             x += 10;
  6.          }
  7.       break;

Para resolver lo del parpadeo, el error esta en que estas repintando a cholón. Para que no parpadee lo ideal seria que implementaras un doble buffer. Básicamente se trata de crear como una imagen virtual y pintarla.
En el siguiente enlace podrás encontrar, todo el tema este de el doble buffer muy bien explicado por Chuidiang, que sabe mucho más que yo de java.
Enlace a la wiki de Chuidiang - Doble buffer.

Por ultimo, para gráficos en java, lo mejor seria pintar sobre clases "Lienzo" como son Canvas o JPanel. Ya que JFrame seria más como el marco de la aplicación.
__________________
01001011 01110010 01100001 01101001 01101110