Я подхожу к разработке Snake Game с JavaFX (я Беннигер).В основном методе я установил scene.setFill (Color.BLACK), и поэтому фон полностью черный.Когда я добавляю ярлык, когда я пытаюсь создать его экземпляр, фон исчезает, и ярлык не отображается на экране.Этого не произойдет, если я добавлю Прямоугольник или Круг, но только с метками, кнопками и т. Д.
Как я могу решить эту проблему?Я думаю, что это простой вопрос, но я не могу решить его самостоятельно.
/ Main.java
GamePanel g = new GamePanel();
BorderPane root = new BorderPane();
//Scene scene = new Scene(root,400,400, Color.BLACK);
Scene scene = new Scene(root,400,400);
scene.setFill(Color.BLACK);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.setTitle("SnakeFX");
primaryStage.show();
root.getChildren().add(g);
g.requestFocus();
/ GamePanel.java (я ставлю только часть функции initialize () это первая функция конструктора, которая инициализирует игровую графику и должна содержать мою метку)
void initialize() {
/* IF I PUT THIS LINE THE BLACK COLOR ON THE BACKGROUND DISAPPEAR
AND LABEL DOES NOT APPEAR ON THE SCREEN.
WITHOUT THIS LINE THE GAME RUNS PERFECTLY B BUT I NEED THIS LINE TO ADD
THE SCORE EHEH */
Label l = new Label("TEST"); //this is the line
for(int i=0;i<WIDTH;i=i+WIDTH/40) {
Line line = new Line();
line.setStartX((double)i);
line.setStartY(0.0);
line.setEndX((double)i);
line.setEndY((double)HEIGHT);
line.setVisible(true);
super.getChildren().add(line);
}
for(int j=0;j<HEIGHT;j=j+HEIGHT/40) {
Line line = new Line();
line.setStartY((double)j);
line.setStartX(0.0);
line.setEndY((double)j);
line.setEndX((double)WIDTH);
line.setVisible(true);
super.getChildren().add(line);
}
....
...
. ..
}
Первое изображение без создания метки.Второе изображение с экземпляром метки (цвет фона не отображается и метка не отображается)