Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

Swingطريقة جعل نص الـ JTextArea يظهر على سطر جديد عند الحاجة

في لغة جافا الـ Text Area لا يراعي النص الذي نضعه بداخله بشكل تلقائي.
فمثلاً في حال كان عدد الأحرف المدخلة أكبر من عدد الأحرف التي يمكن له إستيعابها في كل سطر, لن يظهر كل النص الذي تم إدخاله.

طريقة جعل النص يظهر بداخل ال jtextarea في ال JFrame


المثال التالي يعلمك طريقة جعل محتوى كائن الـ JTextArea ينزل بشكل تلقائي على سطر جديد عند الحاجة.


مثال

Main.java
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
 
public class Main {
 
    public static void main(String[] args) {
 
        JFrame frame = new JFrame("JTextArea demo");              // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس
        frame.setSize(300, 250);                                  // هنا قمنا بتحديد حجم النافذة. عرضها 300 و طولها 250
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
        frame.setLayout(null);                                    // في النافذة بنفسنا Text Area لذلك سنقوم بتحديد مكان الـ Layout Manager أي لم نستخدم أي null هنا وضعنا
 
        JTextArea textArea = new JTextArea("Enter anything");     // Text Area أي قمنا بإنشاء JTextArea هنا أنشأنا كائن من الكلاس
        textArea.setLineWrap(true);                               // ينزل على سطر جديد في حال كان عدد الأحرف المدخلة أكبر من عدد الأحرف التي يستطيع السطر إستيعابها textArea هنا جعلنا النص الذي ندخله في كائن الـ
        textArea.setWrapStyleWord(true);                          // هنا جعلنا الكلمة تظهر على سطر جديد في حال كانت لا تسع في السطر
 
        JScrollPane scrollPane = new JScrollPane( textArea );     // بداخله textArea و وضعنا الـ Scroll Pane أي قمنا بإنشاء JScrollPane هنا أنشأنا كائن من الكلاس
        scrollPane.setBounds(40, 40, 200, 100);                   // أيضاً textArea و بالتالي كأننا قمنا بتحديد حجم الـ .frame في الـ scrollPane هنا قمنا بتحديد حجم و موقع الـ
        frame.add(scrollPane);                                    // frame في الـ scrollPane هنا أضفنا الـ
 
        frame.setVisible(true);                                   // هنا جعلنا النافذة مرئية
 
    }
 
}

ستظهر لك النافذة التالية عند التشغيل. لتجربته قم بإدخال أي نص.

و لاحظ أنه سيعرض النص المدخل في الـ Text Area بشكل مرتب و لا يوجد كلمات مقطوعة ( بمعنى أن جزء من الكلمة ظاهر في سطر و جزء منها في سطر ثاني ).

ثم لاحظ أنه يظهر Scroll Bar عندما يصبح عدد الأسطر المدخلة أكبر من عدد الأسطر التي يمكنها أن تظهر بداخله أمام المستخم.

طريقة جعل النص يظهر بداخل ال jtextarea في جافا