Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals 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); // هنا جعلنا النافذة مرئية
}
}
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 في جافا