Ваш вопрос нуждается в некоторой информации о том, когда и где объявлено EnterNames
, но , если сделано в EnterNamesScenes
, тогда одним из решений было бы сначала добавить amount
как EnterNamesScenes
атрибута, а затем непосредственно передайте значение из него в качестве аргумента конструктора (в SizeSelect
), а затем используйте его для создания экземпляра EnterNames
.
Например:
size16.setOnMouseClicked(e ->{
MainScene.mainStage.setScene(new EnterNamesScene(17));
}
И в EnterNamesScene
:
private int amount;
public EnterNamesScene(int amount){
this.amount=amount; //this value comes from the button action and will be saved to create a EnterName
//Constructor stuff
}
Затем, когда вы захотите создать экземпляр EnterNames
, просто добавьте значение amount
в качестве аргумента:
EnterNames en = new EnterNames(this.amount);
И конструктор:
public EnterNames(int amount){
for (int j = 0; j < amount; j++) {
int teamNum = j + 1;
// Rest of the code
}
ПРИМЕЧАНИЕ : Как я уже говорил, это будет работать только в том случае, если EnterNames
создается внутри EnterNamesScenes
. В противном случае вам придется предоставить дополнительную информацию о том, как создается экземпляр EnterNames
.