Swingطريقة إنشاء Scroll Layout
لجعل الـ Frame أو الـ Window تظهر Scroll Bar عند الحاجة, نضع كائن من الكلاس JScrollPane
كأول عنصر فيها ثم نضيف شيء واحد بداخله.
فمثلاً يمكنك أن تضع كائن JTable
, JList
, JLabel
, JPanel
إلخ..
إذاً في حال أردت وضع أكثر من شيء في النافذة يمكنك إنشاء كائن من الكلاس JPanel
و ضع أي محتوى تريد بداخله.
بعدها مرر كائن الـ JPanel
في كونستركتور كائن الـ JScrollPane
.
مثال
المثال التالي يعلمك طريقة جعل النافذة تظهر Scroll Bar عند الحاجة حتى يتمكن المستخدم من مشاهدة كامل الصورة.
ملاحظة: عليك إنشاء مجلد و وضع الصورة التي تريد وضعها على JLabel
بداخله كما في الصورة التالية.
الصورة توضح أننا أضفنا مجلد إسمه images
و وضعنا فيه صورة واحدة إسمها white-cat.jpeg
.
مثال
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 Bar كما في الصورة التالية.