Movimiento de gráficos mediante botones en Java
Se debe partir de un panel (jPanel) integrado en una ventana (jFrame) tal como se ha explicado en el artículo Gráficos en Java.
Esta explicación se basa en un ejemplo que realiza el movimiento de una bola utilizando cuatro botones para subir, bajar y desplazar a la derecha e izquierda. Descarga del ejemplo completo para NetBeans.
Hay declarados dos atributos en la clase Tablero (jPanel) con las coordenadas donde se debe mostrar la bola, que inicialmente están inicializados para que se muestre en la parte central del tablero. A través de la actualización de los valores de esos atributos se realizará el movimiento de la bola.
La bola se dibujará en el método paint utilizando las coordenadas anteriores, con un tamaño 10.
En el códido del panel se han definido una serie de métodos que realizan las operaciones de movimiento deseado. En cada movimiento se modifica el atributo correspondiente para cambiar la posición de la bola y se hace la llamada al métodorepaint para que se ejecute de nuevo el código del paint visto antes y que se encarga de mostrar la bola.
Los botones que permiten al usuario realizar el movimiento se han incluido en la ventana, fuera del panel.
A cada botón se le ha asignado el código necesario para que realice la llamada al método que corresponda del panel para hacer el movimiento de la bola.
Hay que observar el nombre que ha recibido el panel al integrarlo en la ventana. En este caso le ha dado el nombre tablero1. Este nombre puede verse en las propiedades al seleccionar el panel.
Esta explicación se basa en un ejemplo que realiza el movimiento de una bola utilizando cuatro botones para subir, bajar y desplazar a la derecha e izquierda. Descarga del ejemplo completo para NetBeans.
Hay declarados dos atributos en la clase Tablero (jPanel) con las coordenadas donde se debe mostrar la bola, que inicialmente están inicializados para que se muestre en la parte central del tablero. A través de la actualización de los valores de esos atributos se realizará el movimiento de la bola.
La bola se dibujará en el método paint utilizando las coordenadas anteriores, con un tamaño 10.
En el códido del panel se han definido una serie de métodos que realizan las operaciones de movimiento deseado. En cada movimiento se modifica el atributo correspondiente para cambiar la posición de la bola y se hace la llamada al métodorepaint para que se ejecute de nuevo el código del paint visto antes y que se encarga de mostrar la bola.
public void moverArriba()
{
posY--;
repaint();
}
public void moverAbajo()
{
posY++;
repaint();
}
public void moverDerecha()
{
posX++;
repaint();
}
public void moverIzquierda()
{
posX--;
repaint();
}
{
posY--;
repaint();
}
public void moverAbajo()
{
posY++;
repaint();
}
public void moverDerecha()
{
posX++;
repaint();
}
public void moverIzquierda()
{
posX--;
repaint();
}
Los botones que permiten al usuario realizar el movimiento se han incluido en la ventana, fuera del panel.
A cada botón se le ha asignado el código necesario para que realice la llamada al método que corresponda del panel para hacer el movimiento de la bola.
private void botonArribaActionPerformed(java.awt.event.ActionEvent evt)
{
tablero1.moverArriba();
}
private void botonAbajoActionPerformed(java.awt.event.ActionEvent evt)
{
tablero1.moverAbajo();
}
private void botonIzquierdaActionPerformed(java.awt.event.ActionEvent evt)
{
tablero1.moverIzquierda();
}
private void botonDerechaActionPerformed(java.awt.event.ActionEvent evt)
{
tablero1.moverDerecha();
}
{
tablero1.moverArriba();
}
private void botonAbajoActionPerformed(java.awt.event.ActionEvent evt)
{
tablero1.moverAbajo();
}
private void botonIzquierdaActionPerformed(java.awt.event.ActionEvent evt)
{
tablero1.moverIzquierda();
}
private void botonDerechaActionPerformed(java.awt.event.ActionEvent evt)
{
tablero1.moverDerecha();
}
Hay que observar el nombre que ha recibido el panel al integrarlo en la ventana. En este caso le ha dado el nombre tablero1. Este nombre puede verse en las propiedades al seleccionar el panel.
No hay comentarios:
Publicar un comentario