我正在用JList和Textarea在Java中做一个应用程序。我希望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的一个实例,然后通过调用方法updateChat更新textArea。可以这样做,但仍将侦听器放在自己的类中,而不必获取cpp实例吗?