الجامعات العربية

الإستفادة من الـ JSplitPane في التطبيقات الفعلية

الإستفادة من الـ JSplitPane في التطبيقات الفعلية
الإستفادة من الـ JSplitPane في التطبيقات الفعلية
الإستفادة من الـ JSplitPane في التطبيقات الفعلية
الإستفادة من الـ JSplitPane في التطبيقات الفعلية
الإستفادة من الـ JSplitPane في التطبيقات الفعلية
المناهج السعوديةالإستفادة من الـ JSplitPane في التطبيقات الفعلية
المثال التالي يعلمك طريقة وضع أي محتوى تريده في الـ Split Pane و إضافة Scroll Bar للأقسام أيضاً.

في البداية قمنا بإنشاء مجلد خاص لوضع الصور التي نريد عرضها في البرنامج كما في الصورة التالية.

⇓ تحميل مجلد الصور
بعدها قمنا بإنشاء كائن من الكلاس JSplitPane إسمه splitPane لتقسيم الـ Frame إلى قسمين.
وضعنا JScrollPane في القسم الأيمن و القسم الأيسر من الـ splitPane حتى يظهروا Scroll Bar في حال كان المحتوى الموضوع فيهما يحتاج إلى مساحة أكبر حتى يظهر.
في الـ JScrollPane الأيمن وضعنا JLabel و الذي سنضع فيه الصورة.
في الـ JScrollPane الأيسر وضعنا JList و التي سنضع فيها جميع أسماء الصور الموجودة في المجلد images.
في الأخير قلنا أن أي صورة يتم النقر على إسمها سيتم عرض محتواها كأيقونة للـ JLabel.

مثال

Main.java

  1. import javax.swing.JFrame;
  2. import javax.swing.JLabel;
  3. import javax.swing.JList;
  4. import javax.swing.DefaultListModel;
  5. import javax.swing.ImageIcon;
  6. import javax.swing.JScrollPane;
  7. import javax.swing.JSplitPane;
  8. import javax.swing.JOptionPane;
  9. import javax.swing.ListSelectionModel;
  10. import javax.swing.event.ListSelectionEvent;
  11. import javax.swing.event.ListSelectionListener;
  12. import java.io.File;
  13.  
  14. publicclass Main {
  15.  
  16. static JFrame frame = newJFrame(“JSplitPane demo”)// Frame هنا قمنا بتعريف الـ
  17. static JLabel picture = newJLabel()// Frame لعرض الصور في القسم الأيمن من الـ Label سنستخدم هذا الـ
  18. static DefaultListModel model = newDefaultListModel()// List لتخزين محتوى الـ model سنستخدم هذه الـ
  19. static JList list = newJList(model)// Frame التي سنضعها في القسم الأيسر من الـ List هنا قمنا بتعريف الـ
  20.  
  21. publicstaticvoidmain(String[] args){
  22.  
  23. frame.setSize(500320)// هنا قمنا بتحديد حجم النافذة. عرضها 500 و طولها 320
  24. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)// هنا جعلنا زر الخروج من النافذة يغلق البرنامج
  25.  
  26. // عند الحاجة Scroll Bar حتى يظهروا بداخل Scroll Pane بداخل picture و الـ list هنا وضعنا كل الـ
  27. JScrollPane listScrollPane = newJScrollPane(list);
  28. JScrollPane pictureScrollPane = newJScrollPane(picture);
  29.  
  30. // في القسم الأيمن pictureScrollPane في القسم الأيسر و الـ listScrollPane و وضعنا في الـ Split Pane هنا قمنا بتعريف الـ
  31. JSplitPane splitPane = newJSplitPane(JSplitPane.HORIZONTAL_SPLIT, listScrollPane, pictureScrollPane)// Split Pane أي قمنا بإنشاء JSplitPane هنا أنشأنا كائن من الكلاس
  32.  
  33. splitPane.setDividerLocation(150)// splitPane في الـ Splitter هنا قمنا بتحديد موقع الـ
  34. splitPane.setOneTouchExpandable(true)// Splitter هنا قمنا بإضافة أسهم التحريك السريع على الـ
  35. splitPane.setContinuousLayout(true)// Splitter هنا قمنا بإخفاء اللون الأسود الذي يظهر عند تحريك الـ
  36.  
  37. // model و وضعناها في الـ images هنا قمنا بجلب جميع أسماء الصور التي وضعناها في المجلد
  38. try{
  39. File rootFolder = newFile(“src/images”);
  40. String[] paths = rootFolder.list();
  41. for(String path: paths)
  42. model.addElement(path);
  43. }
  44. catch(Exception e){
  45. JOptionPane.showMessageDialog(null“No Image found!”“Error”, JOptionPane.ERROR_MESSAGE);
  46. }
  47.  
  48. // هنا جعلنا المستخدم قادر على تحديد صورة واحدة من القائمة في كل مرة و جعلنا أول صورة محددة إفتراضياً
  49. list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  50. list.setSelectedIndex(0);
  51.  
  52. // list و عرضنا الصورة المحددة إفتراضياَ في الـ pictureScrollPane هنا جعلنا الصور تظهر في منتصف الـ
  53. picture.setHorizontalAlignment(JLabel.CENTER);
  54. picture.setIcon(newImageIcon(Main.class.getResource(“../images/”+list.getSelectedValue())));
  55.  
  56. // هنا قلنا أنه في كل مرة يقوم المستخدم بالنقر إسم الصورة, سيتم إظهارها له
  57. list.addListSelectionListener(newListSelectionListener(){
  58. @Override
  59. publicvoidvalueChanged(ListSelectionEvent e)
  60. {
  61. picture.setIcon(newImageIcon(Main.class.getResource(“../images/”+list.getSelectedValue())));
  62. }
  63. });
  64.  
  65. frame.add(splitPane)// لتقسيمها إلى قسمين أساسيين frame في الـ splitPane هنا أضفنا الـ
  66. frame.setVisible(true)// هنا جعلنا النافذة مرئية
  67.  
  68. }
  69.  
  70. }

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

طريقة وضع قائمة JList و صورة ImageIcon في ال JSplitPane في جافا

المصدر: الإستفادة من الـ JSplitPane في التطبيقات الفعلية – المناهج السعودية

مقالات ذات صلة

اترك رد

زر الذهاب إلى الأعلى

أنت تستخدم إضافة Adblock

برجاء دعمنا عن طريق تعطيل إضافة Adblock