Java Swing阿拉伯语文本反向

Java Swing阿拉伯语文本反向,java,swing,arabic,right-to-left,Java,Swing,Arabic,Right To Left,我有一个可以正确工作/显示的Java Swing应用程序,可以用阿拉伯语操作文本IO。今天突然,我发现我的MacBookPro上每一个阿拉伯文字都显示在相反的方向上,并带有Java8u171。为了验证我的程序是否有问题,我在页面上重新创建了应用程序,并在笔记本电脑上运行。令我惊讶的是,我得到了同样的反向显示!也就是说,不是从参考教程页面中提取下面所示的正确图像: 当我按原样构建应用程序并在笔记本电脑上运行时,我得到了这个: 有人能解释一下这里发生了什么事吗?谢谢。如果您使用的是基于Window

我有一个可以正确工作/显示的Java Swing应用程序,可以用阿拉伯语操作文本IO。今天突然,我发现我的MacBookPro上每一个阿拉伯文字都显示在相反的方向上,并带有Java8u171。为了验证我的程序是否有问题,我在页面上重新创建了应用程序,并在笔记本电脑上运行。令我惊讶的是,我得到了同样的反向显示!也就是说,不是从参考教程页面中提取下面所示的正确图像:

当我按原样构建应用程序并在笔记本电脑上运行时,我得到了这个:


有人能解释一下这里发生了什么事吗?谢谢。

如果您使用的是基于Windows的计算机,根据原始帖子中的评论,您可能很好。对于您的Mac操作系统,您需要完全从Java8过渡到Java11或更高版本。使用该工具进行测试可获得如下所示的所需外观。我在JTextPane上用自己的应用程序和所有这些输入文本组件测试了这一点,我们重新开始了业务:-


你能分享一下你的代码吗?您设置方向的部分。我可以确认Windows上的一切都正常,只有小版本。请尝试最新的8.*版本。如果出现这种情况,请在OpenJDK错误系统上或通过Oracle页面打开错误报告。非常感谢您的验证!实际上,这可能只是u171版本中的一个bug。将进行调整,尝试不同的版本并报告。任何阿拉伯语都是乱七八糟的,但是,更新到Java11或任何超过8的版本确实可以修复。感谢您对Java版本的介绍。该应用程序在NetBeans IDE中工作。然而,当我生成可执行JAR时,反向显示又回来了:-Netbeans环境提供的JAR文件中缺少的东西。这真的很奇怪。我明天早上会试试Linux,只是出于好奇