در این جلسه تیم کدگیت را با آموزش JEditorPane در جاوا همراهی کنید. ابتدای این آموزش را با توضیح JEditorPane آغاز کرده و سپس متدهای این کلاس را معرفی میکنیم. در آخر یک مثال واقعی از این کلاس را پیاده سازی میکنیم. همچنین پیشنهاد میکنیم قبل از مطالعه این جلسه، آموزشهای گذشته گرافیک در جاوا را مطالعه کنید.
JEditorPane
JeditorPane یک نوع TextArea میباشد که برای نمایش انواع فرمتهای متنی استفاده میشود. به صورت پیش فرض JEditorPane از فرمتهای HTML و RTF پشتیبانی میکند. همچنین با نوشتن یک Editor Kit میتوان فرمت دلخواه خود را در این کلاس ایجاد کرد.
به طور معمول JEditorPane در جاوا برای فرمت HTML استفاده میشود. اما میتوان فرمت RTF (به صورت محدود) نیز استفاده کرد. همچنین در صورت نیاز میتوان از JEditorPane برای یک متن ساده بدون استفاده از فرمتهای HTML یا RTF استفاده کرد. برای این کار باید در ورودی متد setContentType مقدار text/plain وارد میکنیم(در مثال قسمت بعد استفاده از این متد را خواهید دید). همچنین متد setText برای نوشتن متن پیشفرض استفاده میشود. تصویر زیر یک JeditorPane را میبینید.

برخی از متدهای کلاس JEditorPane به صورت زیر میباشد:
- ()JEditorPane : متد Constructor است و یک JEditorPane را ایجاد میکند.
- (JEditorPane(String type, String text: متد Constructor است و یک JEditorPane را ایجاد میکند همچنین نوع متن و متن پیشفرض درون ورودی دریافت میکند.
- (setText(String t: متن درون JEditorPane را تنظیم میکند.
- (setContentType(String type: این متد نوع محتوایی که Editor میتواند کنترل کند را تنظیم میکند. به عنوان مثال setContentType(“text/plain”) بدین معنی است که Editor محتوای خود را به صورت متن ساده در نظر میگیرد. setContentType(“text/html”) برای محتوای HTML استفاده میشود.
مثال JEditorPane در جاوا
در این قسمت طبق روال آموزشهای گذشته مثالی از درس این جلسه پیاده سازی خواهیم کرد. تصویر بالا خروجی کد ما در این قسمت است. کد مثال JEditorPane در جاوا به صورت زیر است:
public class JEditorPaneExample { JFrame myFrame = null; public static void main(String[] a) { (new JEditorPaneExample()).test(); } private void test() { myFrame = new JFrame("JEditorPane Test"); myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); myFrame.setSize(400, 200); JEditorPane myPane = new JEditorPane(); myPane.setContentType("text/plain"); myPane.setText("CodeGate Team... CodeGate Team... CodeGate Team..." + " CodeGate Team... CodeGate Team... CodeGate Team..." + " CodeGate Team... CodeGate Team... CodeGate Team..."); myFrame.setContentPane(myPane); myFrame.setVisible(true); } }
همانطور که در کد بالا میبینید ابتدا صفحه Frame را ایجاد کردیم سپس با ایجاد کلاس JEditorPane به کمک متدهای setContentType و setText نوع متن و متن پیش فرض را تنظیم کردیم. سپس JEditorPane را به Frame خود اضافه کردیم.