This is because you try to get the values to copy from the original data1 and data2 arrays of Strings, but these arrays are not updated when you copy the new values, therefore you can not use them anymore (if you want to keep this design).
Instead you can access the data through the DefaultListModel objects: they are updated with the new copied values. Basically you have to modify the two listeners, for the first button:
btAdd1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int x[]=list1.getSelectedIndices();
for(int i=0;i<x.length;i++){
dlm2.add(i,dlm1.get(x[i]));
}
}
});
And also for the second button:
btAdd2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int x[]=list2.getSelectedIndices();
for(int i=0;i<x.length;i++){
dlm1.add(i,dlm2.get(x[i]));
}
}
});
I hope this will help you.