کنترل JTextArea
کنترل JTextArea را به نوعی می توان یک JTextField در نظر گرفت با این تفاوت که در JTextField ورودی های کاربر در یک خط نوشته می شدند در حالیکه در JTextArea می توان ورودی ها را در چند خط نوشت. JTextArea دارای یک خاصیت و آن هم text می باشد. در این کنترل به صورت توکار دارای اسکرول نیست و اگر متن وارد شده توسط کاربر زیاد باشد برای مشاهده تمام متن باید از کنترل JScrollPane استفاده کرد. سازنده این کلاس به روش های زیر مقدار دهی می شود :
public JTextArea() public JTextArea(Document document) public JTextArea(String text) public JTextArea(int rows, int columns) public JTextArea(String text, int rows, int columns) public JTextArea(Document document, String text, int rows, int columns)
این کنترل دارای خاصیت های مهم زیر می باشد :
خاصیت | توضیح |
Columns | تعداد ستون های Textarea را مشخص می کند |
lineCount | تعداد خطوط Textarea را مشخص می کند |
lineWrap | مشخص می کند که زمانیکه به آخر یک سطر در Textarea رسیدیم بقیه متن در سطر بعدی نوشته شود یا نه |
rows | تعداد سطرهای Textarea را مشخص می کند |
tabSize | مشخص می کند که با هر بار زدن دکمه Tab نشانگر ماوس چند کاراکتر به جلو رانده شود. |
متدهای مهم این کنترل هم عبارتند از :
متد | توضیح |
()setSelectedTextColor | رنگ متن انتخاب شده را مشخص می کند. |
()setSelectionColor | رنگ پس زمینه متن انتخاب شده را مشخص می کند. |
()select | قسمتی از متن Textarea را انتخاب می کند. این متد دو عدد می گیرد که یکی نشان دهنده نقطه شروع و دیگری نشان دهنده نقطه پایان متن انتخابی است. |
بیشتر متدهای کنترل Textarea برای متن انتخاب شده استفاده می شوند.برای مثال ، متد ()select متنی را که توسط کاربر انتخاب شده است را مشخص می کند :
select(selectionStart, selectionEnd)
به کد زیر توجه کنید :
1: import java.awt.*; 2: import javax.swing.*; 3: 4: public class FrameDemo 5: { 6: public static void main(String[] args) 7: { 8: JFrame frame1 = new JFrame("JTextArea Demo"); 9: 10: JTextArea TextArea1 = new JTextArea("JAVA programming is fun!"); 11: 12: TextArea1.select(5, 16); 13: 14: JPanel Panel1 = new JPanel(); 15: Panel1.setLayout(new BorderLayout()); 16: Panel1.add(TextArea1, BorderLayout.CENTER); 17: frame1.add(Panel1); 18: frame1.setSize(356 , 263); 19: frame1.setVisible(true); 20: } 21: }
در خط 10 کد بالا یک متن پیشفرض به TextArea اضافه و در خط 12 از اندیس 5 تا اندیس 16 آن را انتخاب کرده ایم. برنامه را اجرا کنید :
وقتی ما یک متن را انتخاب می کنیم، می توانیم متن انتخاب شده را به وسیله ی تعدادی متد که بر روی متن انتخاب شده کار می کنند قالب بندی کنیم. برای مثال،شما می توانید برای تغییر رنگ متن انتخاب شده از متد ()setSelectedTextColor استفاده کنید.همچنین می توانید برای تغییر رنگ پس زمینه ی آن از خاصیت ()setSelectionColor استفاده کنید. بعد از خط 12 کد بالا کدهای زیر را نوشته و برنامه را اجرا کنید :
TextArea1.setSelectedTextColor(Color.RED); TextArea1.setSelectionColor(Color.YELLOW);