Прежде всего - мне нравится, что часть вашего кода написана на английском языке sh, а часть - на языке Poli sh. Это очень плохая привычка, которая укусит вас за задницу, если вы когда-нибудь будете работать с международной командой. Не говоря уже о том, что людям на SO или в других местах труднее помочь вам, если они не понимают имена методов или переменных.
Во-вторых, почему эти две строки:
setContactList(users1);
System.out.println(users1.toString());
внутри l oop? Было бы разумнее выполнить их после завершения l oop.
И, наконец, root вашей проблемы. Этот метод:
void initialize(){
List<Users> lU = getContactList();
setlC(lU);
choise();
}
выбрасывает NullPointerException
, потому что поле contactList
фактически пустое. Это поле инициализируется методом kontakty()
из класса Application
, который вызывается методом initialize()
того же класса. Однако ни один из этих методов не вызывается нигде в классе Groups
.
Если не происходит какое-то JavaFX magi c, о котором я не знаю, метод initialize()
в классе Groups
должен быть:
void initialize(){
kontakty();
List<Users> lU = getContactList();
setlC(lU);
choise();
}
или, возможно, даже:
void initialize(){
super.initialize()
List<Users> lU = getContactList();
setlC(lU);
choise();
}
, если вы хотите, чтобы весь код инициализации из суперкласса также выполнялся в подклассе.