Как установить ориентацию JTextArea справа налево (внутри JOptionPane)

У меня есть JScrollPane с JTextArea внутри, и я пытаюсь установить ориентацию JTextArea справа налево, чтобы текст внутри него начинался справа, а полоса прокрутки была слева

Я пробовал следующее, но они не повлияли на направление ориентации:

txt.applyComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
txt.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
txt.setAlignmentX(JTextArea.RIGHT_ALIGNMENT);

РЕДАКТИРОВАТЬ:

два предоставленных camickr и trashgod ответа работают нормально, но не в моей программе, где я использую свой JTextArea в качестве объекта Message и передаю его в OptionPane.

EDIT2:

Я понял, что setComponentOrientation (ComponentOrientation.RIGHT_TO_LEFT ); не работает, если я применяю его к содержимому JOptionPane .. есть ли другой Альтернативное решение этой проблемы?

Подобно моему коду:

import java.awt.*;
import java.util.*;
import javax.swing.*;
public class TextArea extends JPanel
{
    private JTextArea txt = new JTextArea();
    public TextArea()
    {
        setLayout(new GridLayout());
        txt.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
        JScrollPane scroll = new JScrollPane(txt);
        scroll.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
        setPreferredSize(new Dimension(200,200));
        this.add(scroll);
    }
    private void display()
    {
        Object[] options = {this};
        JOptionPane pane = new JOptionPane();
        int option = pane.showOptionDialog(null, null, "Title", JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, options, options[0]);
    }
    public static void main(String[] args)
    {
        new TextArea().display();
    }
}
10
задан Eng.Fouad 25 June 2011 в 03:43
поделиться