У меня возникли проблемы с изменением значения частной переменной (класса, реализующего интерфейс), который находится внутри реализации интерфейса.Изменение значения частной переменной внутри реализации интерфейса
У меня есть интерфейс IClient:
public interface IClient{
void showNewArticles(Article a);
}
и класс клиент, который реализует IClient:
public class Client implements IClient{
(....)
private DefaultListModel<String> listModelArticles = new DefaultListModel<>();
(....)
@Override
public void showNewArticles(Article a){
String infoArticle = ("["+a.getKeyword().toUpperCase()+"] "+a.getTitle());
listModelArticles.addElement(infoArticle);
listArticles.setModel(listModelArticles);
}
}
Проблема заключается в том, что, когда я выполнить метод showNewArticles()
, он не добавляет элемент в listModelArticles
, но если я создаю частный или общедоступный метод (внутри класс Клиента) и выполнить в нем listModelArticles.addElement(infoArticles)
, информация вставляется в модель правильно. Что-то связано с модификаторами доступа?
'он не добавляет элемент в списокModelArticles' Откуда вы знаете? В любом случае, как вы определяете размер 'listModelArticles'? – copeg
'Что-то делать с модификаторами доступа?' Определенно нет –
@copeg Я проверил содержимое '' listModelArticles' в отладчике. Извините, я написал неправильную строку в начале класса Client. Это не '' listModelSubscriptions'', это '' listModelArticles''. – regmoraes