Я новичок в Javafx (и Java).Javafx: ярлык экземпляра не отображается
Я пытаюсь отобразить ярлык «название» для разных сцен. Поэтому эта метка в переменной экземпляра. Я создаю его, используя название метода().
Проблема в том, что заголовок не отображается в моих сценах. Я попытался инициализировать его на уровне класса или внутри start() или внутри scene1(). Ничего не работает, но когда я создаю локальную метку внутри метода scene1().
Заранее за вашу помощь.
пс: полный repo here при необходимости
private Label title;
public void start(Stage primaryStage) {
title();
scene1();
scene2();
[some more code...]
}
public Node title() {
title = new Label();
title.setText("SNAKE");
title.setTextFill(Color.YELLOW);
title.setFont(Font.font(STYLESHEET_MODENA, FontWeight.BOLD, 80));
return title;
}
public Scene scene1() {
Label lbl1scene1 = new Label("Welcome to Game !");
Label lbl2scene1 = new Label("Click to start the game");
Button btnStart = new Button("Start the game now!");
btnStart.setOnAction(e -> {
runGame();
});
VBox vbox1 = new VBox(title, lbl1scene1, lbl2scene1, btnStart);
vbox1.setAlignment(Pos.CENTER);
vbox1.setSpacing(10);
scene1 = new Scene(vbox1, width, height);
return scene1;
}
Не уверен, но я подозреваю, что неплохо иметь один и тот же экземпляр узла несколько раз в сценарии. Может быть, какой-то эксперт может подтвердить, действительно ли это не рекомендуется, или если все в порядке. – Itai
Узлы разрешены только один раз на графике сцены. Цитируя [документацию] (http://docs.oracle.com/javase/8/javafx/api/javafx/scene/Node.html): * «Узел может встречаться не чаще всего в графе сцены. В частности, узел должен появляться не более одного раза во всех следующих случаях: как корневой узел сцены, дочерний наблюдаемый список родителя или как клип узла. »* –
Спасибо. Я забыл этот важный момент. Думаю, теперь я получил это навсегда. –