如何在Java中检测当前用户的文本方向首选项?

时间:2015-02-09 03:18:34

标签: java text localization

我正在编写自己的Java GUI组件,它将扩展javax.swing.JComponent并使用其#paint(Graphics)方法使用java.awt.Graphics#drawString(String, int, int)方法在自身上绘制文本。我不知道用户的语言是否使用RTL或LTR文本,但我确实希望在适当的时候将我的文本放在组件的左侧或右侧。 如何获取文本的方向以便我知道在哪里绘制字符串?

该项目以Java 8为目标。

1 个答案:

答案 0 :(得分:1)

java.text.Bidi提供了检查文本是完全从左到右,从右到左还是混合的方法。静态方法

Bidi.requiresBidi(char[] text, int start, int limit)

从左到右返回true,从右到左或混合内容返回false。如果您可以确保您的内容不混合,则静态方法就足够了。否则,您必须实例化Bidi对象以检索有关文本的详细信息。