2012-03-11 13 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 /」のようなテキストを必要とします。 –

+0

JTextField.setHorizo​​ntalAlignment(JTextField.RIGHT)を使用して動作させました。 – bgroenks

0

からテキストフィールドのsetAlignmentX(Component.RIGHT_ALIGNMENT)を呼び出してみてください。

関連する問題