طريقة الحصول على جميع القيم التي تم تحديدها في الـ JTable

المناهج السعودية

طريقة الحصول على جميع القيم التي تم تحديدها في الـ JTable

طريقة الحصول على جميع القيم التي تم تحديدها في الـ JTable

طريقة الحصول على جميع القيم التي تم تحديدها في الـ JTable

طريقة الحصول على جميع القيم التي تم تحديدها في الـ JTable

طريقة الحصول على جميع القيم التي تم تحديدها في الـ JTable

المناهج السعودية

طريقة الحصول على جميع القيم التي تم تحديدها في الـ JTable

المثال التالي يعلمك طريقة الحصول على جميع القيم التي قام المستخدم بتحديدها في الجدول.

مثال

Main.java

  1. import javax.swing.JFrame;
  2. import javax.swing.JTable;
  3. import javax.swing.table.DefaultTableModel;
  4. import javax.swing.JScrollPane;
  5. import javax.swing.JLabel;
  6. import javax.swing.JTextArea;
  7. import javax.swing.ListSelectionModel;
  8. import javax.swing.event.ListSelectionEvent;
  9. import javax.swing.event.ListSelectionListener;
  10. publicclass Main {
  11. // هنا قمنا بإنشاء النافذة و جميع الأشياء التي سنضعها فيها
  12. static JFrame frame = newJFrame(“JTable demo”);
  13. static DefaultTableModel model = newDefaultTableModel();
  14. static JTable table = newJTable( model );
  15. static JScrollPane tableScroller = newJScrollPane( table );
  16. static JLabel Label = newJLabel(“Selected Cells”);
  17. static JTextArea textArea = newJTextArea();
  18. static JScrollPane textAreaScroller = newJScrollPane(textArea);
  19. publicstaticvoidmain(String[] args){
  20. // الخاصة فيه model هنا قمنا بتخزين أسماء أعمدة الجدول و القيم التي ستظهر فيه ثم وضعناها في الـ
  21. String columns[] = {“ID”, “First Name”, “Last Name”, “Phone”};
  22. String data[][] = {
  23. {“1”, “Mhamad”, “Harmush”, “70123456”},
  24. {“2”, “Ahmad”, “Mousally”, “76454532”},
  25. {“3”, “Hala”, “Hassan”, “03555124”},
  26. {“4”, “Rim”, “Al Mouhandes”, “01321123”},
  27. {“5”, “Said”, “Al Kurdy”, “07445599”},
  28. {“6”, “Abdullah”, “Saadi”, “71001234”},
  29. {“7”, “Ibrahim”, “Marhaba”, “04555666”},
  30. {“8”, “Omar”, “El Koussa”, “01357894”},
  31. {“9”, “Riad”, “Asaad”, “76887123”},
  32. {“10”, “Rawan”, “Hoblos”, “01200500”},
  33. {“11”, “Naya”, “Asmar”, “03654123”},
  34. {“12”, “Mahmoud”, “Mawwas”, “70040300”},
  35. {“13”, “Elena”, “Shbib”, “71199113”}
  36. };
  37. model.setDataVector(data, columns);
  38. // بدل تحديد السطر كله دفعة واحدة ( cell ) هنا جعلنا المستخدم قادر على تحديد خلية
  39. table.setCellSelectionEnabled(true);
  40. // textArea هنا قمنا بتحديد طريقة عرض النص بداخل الـ
  41. textArea.setLineWrap(true);
  42. textArea.setWrapStyleWord(true);
  43. // frame هنا قمنا بتحديد أماكن الأشياء التي سنضيفها في الـ
  44. tableScroller.setBounds(0, 0, 585, 200);
  45. Label.setBounds(20, 220, 200, 20);
  46. textAreaScroller.setBounds(20, 260, 535, 80);
  47. // frame هنا قمنا بإضافة جميع الأشياء التي قمنا بتعريفها سابقاً في الـ
  48. frame.add(tableScroller);
  49. frame.add(Label);
  50. frame.add(textAreaScroller);
  51. // frame هنا قمنا بتحديد خصائص الـ
  52. frame.setSize(600, 400);
  53. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  54. frame.setLayout(null);
  55. frame.setVisible(true);
  56. // لأنه يتيح لنا معرفة إذا قام المستخدم بتحديد أو إلغاء تحديد قيم من الجدول lsm هنا قمنا بوضع أي قيم سيتم تحديدها في الكائن
  57. ListSelectionModel lsm = table.getSelectionModel();
  58. // هنا نضع الأوامر التي نريد تنفيذها عند تحديد أي قيمة أو إلغاء تحديد أي قيمة في الجدول
  59. lsm.addListSelectionListener(newListSelectionListener(){
  60. @Override
  61. publicvoidvalueChanged(ListSelectionEvent e){
  62. {
  63. // textArea سيتم أولاً مسح أي نص موجود في الـ
  64. textArea.setText(“”);
  65. // textArea بعدها سيتم المرور على جميع القيم الموجودة في الجدول و وضع المحدد منها في الـ
  66. for(int i=0; i<table.getRowCount(); i++)
  67. for(int j=0; j<table.getColumnCount(); j++)
  68. if(table.isCellSelected(i, j))
  69. textArea.append((String)table.getValueAt(i, j) + ” + “);
  70. }
  71. });
  72. }
  73. }

ستظهر لك النافذة التالية عند التشغيل.

لتحديد أكثر من قيمة في الجدول أبق إصبعك على الزر Ctrl أثناء التحديد.

طريقة الحصول على جميع القيم التي تم تحديدها في الجدول JTable في جافا

 

Be the first to comment

اترك رد