我对ComponentOrientation.RIGHT_TO_LEFT
的问题是“/”或“!”等字符要么 '。'显示在左侧。
我只需要从右到左绘制文字,但是使用标准的,西方的,英文的从左到右的符号表示文本字符。
这是否可以在不手动渲染文本的情况下实现?
答案 0 :(得分:3)
我无法解决您的问题,请您使用我左侧显示的SSCCE。
来自代码
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);
}
});
}
}
答案 1 :(得分:0)
尝试为setAlignmentX(Component.RIGHT_ALIGNMENT)
调用文本字段。