السلام عليكم ورحمة الله وبركاته

أريد تنفيذ مثال مجموعة أحداث تتم على أزرار بين قائمتين

في هذا الرابط المثال المراد تنفيذه

http://2k8618.blogspot.com/2011/11/java-swings-examples-transfer-data.html

وهذة الأكواد الخاصة بي بعد التعديل ، ملاحظة أضفت زر Copy لنسخ عنصر ، المشكلة في المثال إنه معرف العناصر عنصر عنصر في المثال الخاص بي معرفهم كمصفوفة

import java.awt.Color;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JList;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.ListSelectionModel;

/**

*

  • @author Muhammed_Pro

*/

public class NewClass extends JFrame {

private JPanel panel;
private String[] Countries = {"Egypt", "KSA", "Yemen", "Libia", "Jordan", "Kuwait", "Oman", "Syria", "Lebonan"};
private JList list1, list2;
private JScrollPane pane1, pane2;
private JButton Copy, oneMove, oneReturn, multiMoves,multiReturns;
private JLabel label;

public NewClass() {
    panel = new JPanel();
    panel.setBackground(Color.cyan);

    list1 = new JList(Countries);
    list1.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    list1.setVisibleRowCount(8);
    list1.setFixedCellWidth(100);
    list1.setFixedCellHeight(25);

    list2 = new JList();
    list2.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    list2.setVisibleRowCount(8);
    list2.setFixedCellWidth(100);
    list2.setFixedCellHeight(25);

    pane1 = new JScrollPane(list1);
    pane2 = new JScrollPane(list2);

    Copy = new JButton("Copy");
    oneMove = new JButton(">");
    oneReturn = new JButton("<");
    multiMoves = new JButton(">>");
    multiReturns = new JButton("<<");

    Copy.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            list2.setListData(list1.getSelectedValues());
        }
    });

    oneMove.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            Object[] temp = list2.getSelectedValues();
      if(temp.length>1)
       JOptionPane.showMessageDialog(rootPane, "Please select only one item...");
   else if(temp.length<1){
       JOptionPane.showMessageDialog(rootPane, "Please select an item...");
   }else{

        }
        })};

    panel.add(list1);
    panel.add(list2);
    panel.add(Copy);


    add(panel);
    add(pane1);

    setSize(634, 400);
    setLayout(null);
    setTitle("Copy/Move List");
    setVisible(true);
    setLocationRelativeTo(null);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
}

}