Java, два разных графических компонента, которые должны взаимодействовать - PullRequest
0 голосов
/ 08 февраля 2019

Я делаю приложение в 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?

...