我在用JTextArea
在 Java 中显示乌尔都语、阿拉伯语和英语的厚文本。问题是我的 GUI 冻结了12-15sec当我使用阿拉伯语排版字体 for JTextArea
。我从 XML 获取文本,然后在文本区域中显示,也使用linewrap
。我的窗户也冻结了大约5sec当我调整窗口大小时。虽然在控制台上我被告知设置文本所花费的时间:7.005但当消息显示时,它并没有立即在 JTextArea 中显示文本,而是在大约 5 秒后显示。 JTextArea、JTextPane 和 JTextEditor 的情况相同。
有趣的是,当我使用其他字体时,并没有出现上述问题。文字也立即出现在设置文本所花费的时间控制台上出现消息。我对此进行了多次测试,但情况都是一样的。
我正在以某种方式做
//note time for start parsing
String text=getTextFromXML();
//show parsed time
System.out.print("Setting text.");
textarea.setText(text);
System.out.println("Setting text done.");
//show time taken to set text
以下是不同字体的一些示例输出,时间以秒为单位:
**Arabic typesetting**//Arabic font
Parsing Time: 0.171 Setting text. Setting text done.
Time taken for setting text: 7.005 //much time taken relevant to others
Text size: 57124 //string length text.length();
**Adobe Arabic**//Arabic font
Parsing Time: 0.172 Setting text. Setting text done.
Time taken for setting text: 0.499
Text size: 57124
**Andalus**//Arabic font
Parsing Time: 0.109 Setting text. Setting text done.
Time taken for setting text: 1.388
Text size: 57124
**Thoma**
Parsing Time: 0.172 Setting text. Setting text done.
Time taken for setting text: 0.655
Text size: 57124
**Times New Roman**
Parsing Time: 0.125 Setting text. Setting text done.
Time taken for setting text: 0.515
Text size: 57124
我不会继续讨论这个问题解析时间但因素设置文本所花费的时间对我来说很重要。现在我想知道
阿拉伯排版字体有什么技术问题,是不兼容还是重?
- As
settext
比其他人花费更多的时间。
- 消息出现后,文本也没有立即出现。
- 调整窗口大小时 GUI 也会冻结一段时间。
以及如何解决呢?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)