2012-03-11 92 views
1

我與ComponentOrientation.RIGHT_TO_LEFT的問題是,諸如'/'或'!'之類的字符要麼 '。'顯示在左側。文本區域右側的Java顯示文本

我只需要從右向左繪製文本,但使用標準,西方,英文左到右的符號表示文本字符。

這可能沒有手動呈現文本?

回答

3

我不能生成你的問題,請你用我的SSCCE來顯示在左邊。

enter image description here

從代碼

import java.awt.ComponentOrientation; 
import javax.swing.JFrame; 
import javax.swing.JScrollPane; 
import javax.swing.JTextArea; 
import javax.swing.UIManager; 

public class RightToLeft { 

    public static void main(String[] args) { 
     javax.swing.SwingUtilities.invokeLater(new Runnable() { 

      public void run() { 
       try { 
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
       JTextArea text = new JTextArea(10, 5); 
       text.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); 
       text.setText("one/\n " 
         + "!two\n" 
         + ".three\n" 
         + "/four\n" 
         + "five!\n" 
         + "six.\n" 
         + "seven\n" 
         + "eight\n"); 
       JScrollPane pane = new JScrollPane(text); 
       JFrame.setDefaultLookAndFeelDecorated(true); 
       JFrame frame = new JFrame("العنوان بالعربي"); 
       frame.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); 
       frame.add(pane); 
       frame.pack(); 
       frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
       frame.setVisible(true); 
      } 
     }); 
    } 
} 
+0

OP希望像''one /''這樣的文本顯示爲右對齊,但是按照從左到右的順序排列。 – 2012-03-11 22:03:53

+0

我得到它使用JTextField.setHorizo​​ntalAlignment(JTextField.RIGHT) – bgroenks 2012-03-12 00:58:08

0

嘗試調用setAlignmentX(Component.RIGHT_ALIGNMENT)文本字段。