Каков правильный способ передачи данных на JComboBox
? Я пытаюсь подать массив String
на JComboBox
, который был инициирован ранее, и я получаю NullPointerException
.Каков правильный способ передачи данных в JComboBox?
Код:
public void readPlayers(){
String[] arr = new String[currentGames.get(currentGame).currentPlayers()];
for(int i = 0; i <currentGames.get(currentGame).currentPlayers(); i++){
arr[i] = "Player " + (i + 1) + currentGames.get(currentGame).getPlayer(i).getId();
}
DefaultComboBoxModel model = new DefaultComboBoxModel(arr);
playersBox.setModel( model);
}
Ошибка:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Edit: Моя проблема в том, что мне нужно обновить данные в JComboBox
каждый раз, когда я хочу использовать его, потому что струны в массив может отличаться от того, когда я впервые использовал поле со списком.
Что такое тип данных 'currentGames.get (currentGame) .currentPlayers()'? Список? Карта? ... – STaefi
Многопоточность? Убедитесь, что условия гонки отсутствуют. Например. 'currentGames.get (currentGame) .currentPlayers()' может потенциально возвращать число, которое станет недействительным во время выполнения цикла, если в/из списка будет добавлено и удалено элементы добавления/удаления потоков. Сначала проверьте элементы GUI со статическими данными. –
'currentGames.get (currentGame) .currentPlayers()' return int и 'currentGames.get (currentGame) .getPlayer (i) .getId()' возвращает строку –