50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
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>

ممنون میشم راهنمایی کنید

پرسیده شده در 1397/07/10 توسط

2 پاسخ

1

سلام به شما دوست عزیز کد زیر رو هم تست کنید

SimpleAttributeSet sa = new SimpleAttributeSet();
StyleConstants.setAlignment(sa, StyleConstants.ALIGN_JUSTIFY);

textPane.getStyledDocument().setParagraphAttributes(0,/*document length*/,sa,false);
پاسخ در 1397/07/10 توسط
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);
پاسخ در 1397/07/10 توسط

پاسخ شما