Ich versuche, ein einfaches Spiel (es ist eine Schule Arbeit) in JavaFX und ich versuche, das Panel mit der Platine zu löschen, und dann nur neu streichen. Ich habe viele Methoden ausprobiert, und dieses ist das einzige, das ich gefunden habe, das alle Teile des Brettes (visuell) entfernt, ohne einen Sichtfehler zu verursachen, der ein Stück zeigt, das bereits gelöscht worden ist, aber noch gezeigt wird.Reinigen Sie GridPane in JavaFX und pflegen Sie die Gitterlinie
So erkläre ich die gridPane
wie folgt aus:
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
}
Das Problem bei diesem Verfahren ist, dass, wenn die "gridPecas.getChildren() klar();" heißt ich verliere gerade die Gitterlinien von der GridPanel
.
Wie kann ich dieses Problem lösen?
Vielen Dank für Ihre Antworten, aber ich habe gerade die perfekte Lösung gefunden xD Statt "gridPecas.getChildren(). Clear();" Ich mache das einfach im for cycle: "gridPecas.getChildren(). RemoveAll (pecasFX [i] [j]);" So dass er beim Lesen des Stückes es aus dem Raster löscht, und dank des ursprünglichen "Füllbrett" -Codes hatte er einen neuen, der die Grenze sauber und aktualisiert ließ. – aliasbody