Ma non so come fare, o meglio, io ho provato a mettere in una label (l8)la stringa in valueChanged e poi nel metodo principale ho fatto l8.getText() ma mi restituisce null.

il codice è questo (togliendo le parti che non c'entrano)

codice:
public class ParamPanel extends JPanel {

private ListSelectionListener Flistener = (new ListSelectionListener() { 
public void valueChanged(ListSelectionEvent ev) { 
if(ev.getValueIsAdjusting()) { return; } 
else { 
t2.setText("");   //JLabel
String trace2 = (String) instancesListFiltred.getSelectedValue(); 
String text2=""; 
for(XEvent event: trace2) { 
text2 += event +"\n"; 
} 
t2.append(text2); 
l6.setText("Second Trace Selected n. "+trace2);
l8.setText(trace2); 
} 
} 
});

public JComponent visualize(Result results, long time) {
.....
instancesListFiltred = new JList(traceName2);
instancesListFiltred.addListSelectionListener(FListener);
instancesListFiltred.setSelectionMode(ListSelectionMode.SINGLE_INTERVAL_SELECTION);

...
String text3 = "I risultati sono...";
for(int n=0; n<numv; n++) {
if(results.getResult().get(n).instance==trace2) {
....
text3 += results.getResult().get(n).distance;
}
t3 = new JTextArea(text3);
.....

}
}