Swing طريقة إنشاء Scroll Layout

لجعل الـ Frame أو الـ Window تظهر Scroll Bar عند الحاجة, نضع كائن من الكلاس JScrollPane كأول عنصر فيها ثم نضيف شيء واحد بداخله.
فمثلاً يمكنك أن تضع كائن JTable, JList, JLabel, JPanel إلخ..

إذاً في حال أردت وضع أكثر من شيء في النافذة يمكنك إنشاء كائن من الكلاس JPanel و ضع أي محتوى تريد بداخله.
بعدها مرر كائن الـ JPanel في كونستركتور كائن الـ JScrollPane.


مثال

المثال التالي يعلمك طريقة جعل النافذة تظهر Scroll Bar عند الحاجة حتى يتمكن المستخدم من مشاهدة كامل الصورة.

ملاحظة: عليك إنشاء مجلد و وضع الصورة التي تريد وضعها على JLabel بداخله كما في الصورة التالية.

الصورة توضح أننا أضفنا مجلد إسمه images و وضعنا فيه صورة واحدة إسمها white-cat.jpeg.


مثال

Main.java
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
 
public class Main {
 
    public static void main(String[] args) {
 
        // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس
        JFrame frame = new JFrame("Scroll Layout demo");
 
        // و الذي سيمثل الصورة JLabel هنا قمنا بإنشاء كائن من الكلاس
        JLabel label = new JLabel();
 
        // label هنا وضعنا الصورة كأيقونة للـ
        label.setIcon(new ImageIcon(Main.class.getResource("images/white-cat.jpeg")));
 
        // عند الحاجة Scroll Bar حتى تظهر JScrollPane هنا وضعنا الصورة بداخل كائن من الكلاس
        JScrollPane scrollPane = new JScrollPane(label);
 
        // كعنصر النافذة الوحيد scrollPane هنا وضعنا الـ
        frame.add(scrollPane);
 
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
        frame.pack();                                           // هنا جعلنا حجم النافذة يناسب حجم المحتوى
        frame.setVisible(true);                                 // هنا جعلنا النافذة مرئية
 
    }
 
}
		

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

طريقة إنشاء Scroll Layout حتى يتمكن المستخدم من مشاهدة كامل الصورة في جافا

إذا قمت بتصغير حجم النافذة سيتم إظهار Scroll Bar كما في الصورة التالية.

الدورات

أدوات مساعدة

الأقسام

دورات
مقالات أسئلة مشاريع كتب