Я делаю приложение в Java с JList и Textarea.Я хочу, чтобы текстовая область обновлялась при изменении JList.Я не уверен, как правильно реализовать слушателей действий.
Я хочу, чтобы слушатели были в своих собственных классах.Итак, я настроил это.Проблема в том, что слушатели «знают» об одном из других классов, о которых, как мне кажется, он не должен знать.
public class ll implements ListSelectionListener {
cpp updatecpp;
public ListListener(cpp instanceOfCpp)
{
updatecpp = instanceOfCpp;
}
@Override
public void valueChanged(ListSelectionEvent e) {
if(!e.getValueIsAdjusting())
{
JList jlist = (JList)e.getSource();
String updatevalue = jlist.getSelectedValue().toString();
updatecpp.updateChat(updatevalue);
}
}
}
Как вы можете видеть, конструктор берет экземпляр cpp и затем обновляет textAreaвызвав метод updateChat.Можно ли это сделать, все еще имея слушателей в своем собственном классе, но не получая экземпляр cpp?