السلام عليكم ورحمة الله وبركاته
أريد تنفيذ مثال مجموعة أحداث تتم على أزرار بين قائمتين
في هذا الرابط المثال المراد تنفيذه
وهذة الأكواد الخاصة بي بعد التعديل ، ملاحظة أضفت زر 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);
}
}