Java 在包含阿拉伯字符的情况下,如何强制JTable不反转文本?
我有以下案文: 单词 但在我的JTable上显示它时,它看起来是这样的: 单词 在每个JLabel或TextArea或任何其他输入中,它确实看起来像原始文本: 单词 只有在JTable上,我才有这样的问题 我不在乎它是否有意义,是的,我知道阿拉伯语是从右向左写的。我猜Java正在检测它并自动反转它,但我不希望它这样做 注:我不知道وزا是什么意思,实际上我不在乎。这也与本案无关,无论是“单词”还是“单词”都是没有意义的,而“单词”是有意义的,反之亦然 注2:文本(反转或不反转)总是向左对齐(正如我预期的那样)Java 在包含阿拉伯字符的情况下,如何强制JTable不反转文本?,java,swing,jtable,arabic,idn,Java,Swing,Jtable,Arabic,Idn,我有以下案文: 单词 但在我的JTable上显示它时,它看起来是这样的: 单词 在每个JLabel或TextArea或任何其他输入中,它确实看起来像原始文本: 单词 只有在JTable上,我才有这样的问题 我不在乎它是否有意义,是的,我知道阿拉伯语是从右向左写的。我猜Java正在检测它并自动反转它,但我不希望它这样做 注:我不知道وزا是什么意思,实际上我不在乎。这也与本案无关,无论是“单词”还是“单词”都是没有意义的,而“单词”是有意义的,反之亦然 注2:文本(反转或不反转)总是向左对齐(正如
提前感谢。猜测一下,您默认的
语言环境
给出的组件方向
与您的其他设置不一致。您可以尝试使用建议的方法之一创建具有首选方向的
附录:
java.text.Bidi
支持双向重新排序;您可能可以使用unicode格式控制代码点,如本文所建议。要更快获得更好的帮助,请发布一篇文章。我想问题的一部分在于,将从左到右和从右到左的文本样式混合在一起是没有意义的(猜测是……英语旁边的阿拉伯字符?)。你能不能把一个作为工具提示呢?我很想看看显示上述描述的屏幕。你能分享一下吗?你用的是哪个Java版本。JLabel还应该在阿拉伯单词的左边用拉丁字符表示该字符串。@jarnbjo OP就是这么说的;问题似乎出在JTable
@fge上:也许甚至不同的浏览器对他的问题也有不同的理解。在这里,他的问题是JTable将拉丁词置于阿拉伯词的左侧,而JLabel和TextArea将阿拉伯词置于拉丁词的左侧。我目前正在尝试这一点,但运气不佳。另外,方向不是更关注文本的对齐方式,而不是打印方式吗?无论是单词还是单词,它总是向左对齐(正如我所期望的)。java.text.Bidi
支持双向重新排序;IIRC,教程示例TextComponentDemo
使用DocumentListener
显示一些细节;另请参见此…您应该添加最后一条注释作为答案…这样我就可以将其标记为已解决,因为它确实有效!!非常感谢上帝。我将等待您的具体答复,以将其标记为已解决。@JorgeBlancoSegura:完成!乔治:我现在面临同样的问题,你怎么能找到解决办法呢?你能给我解释一下吗?