Estoy tratando de hacer un juego simple (es un trabajo escolar) en JavaFX y estoy tratando de borrar el panel con el tablero, y luego repintarlo. He intentado muchos métodos, y este es el único que encontré que elimina todas las piezas del tablero (visualmente) sin crear un error visual que muestra una pieza que ya se ha eliminado pero que aún se muestra.Limpiar gridPane en JavaFX y mantener la línea de cuadrícula
Así que declaran la gridPane
así:
private GridPane gridPecas;
@Override
public void start(Stage primaryStage)
{
gridPecas = new GridPane();
gridPecas.setGridLinesVisible(true);
paintBoard();
// rest of the code to create and paint the Stage
}
private void paintBoard()
{
gridPecas.getChildren().clear();
// Code to fill the board with ImageView and Images of the pieces
}
El problema con este método, es que cuando el "gridPecas.getChildren() borrar();" se llama simplemente pierdo las líneas de cuadrícula del GridPanel
.
¿Cómo puedo resolver este problema?
Gracias por sus respuestas, pero acabo de encontrar la solución perfecta xD En lugar de hacer "gridPecas.getChildren(). Clear();" Solo hago esto en el ciclo for: "gridPecas.getChildren(). RemoveAll (pecasFX [i] [j]);" De modo que cuando lee la pieza la elimina de la cuadrícula y, gracias al código original de "tablero de relleno", tiene una nueva que deja el borde limpio y actualizado. – aliasbody