0
ترازبندی (justify) متن فارسی در جاوا
سلام دوستان.
میخوام متن فارسی رو به صورت جاستیفای در jtextpane یا jeditorpane یا موارد مشابه قرار بدم . ولی در بهترین حالت وسط چین میشه متنم و کل خط رو نمیگیره و جاستیفای نمیشه.
هم به صورت styleddoc تست کردم:
justified = doc.addStyle("justified", regular); StyleConstants.setAlignment(justified, StyleConstants.ALIGN_JUSTIFIED);
و هم به صورت یک فایل html جاستیفای شده که فراخوانی بشه توسط jtextpane ولی هیچ کدوم جواب نداد<htm>
p { text-align:justify; direction:rtl;}
<htm>
ممنون میشم راهنمایی کنید
2 پاسخ
1
سلام به شما دوست عزیز کد زیر رو هم تست کنید
SimpleAttributeSet sa = new SimpleAttributeSet(); StyleConstants.setAlignment(sa, StyleConstants.ALIGN_JUSTIFY); textPane.getStyledDocument().setParagraphAttributes(0,/*document length*/,sa,false);
0
ممنون از شما. ولی متاسفانه همچنان وسط چین میشه به جای جاستیفای.
پنل و تکست پن رو به صورت زیر دارم. نمیدونم مشکلش چیه. متن انگلیسی رو جاستیفای می کنه.
Jpanel panel=new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); panel.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); panel.setBorder(new EmptyBorder(0, 5, 0, 5));//top/right/bot/left panel.setBackground(Color.WHITE); panel.setPreferredSize(new Dimension(200,1000));/ JTextPane textPane= new JTextPane(); textPane.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); textPane.setSize(new Dimension(200,500)); textPane.setText( "متن فارسی"); SimpleAttributeSet sa = new SimpleAttributeSet(); StyleConstants.setAlignment(sa, StyleConstants.ALIGN_JUSTIFIED); textPane.getStyledDocument().setParagraphAttributes(0,500,sa,false); panel.add(textPane);