JTextArea
Javaでウルドゥー語、アラビア語、英語の重いテキストを表示するために使用しています。問題は、アラビア語の植字フォントを使用すると、GUI が12 ~ 15 秒間フリーズすることです。XML からテキストを取得し、テキストエリアに表示しています。ウィンドウのサイズを変更すると、ウィンドウも約5 秒間フリーズします。コンソールでは、テキストの設定にかかった時間が7.005であると言われましたが、メッセージが表示されたときにJTextAreaにテキストがすぐに表示されず、約5秒後に表示されました。JTextArea、JTextPane、および JTextEditor の場合も同様です。JTextArea
linewrap
興味深いことに、他のフォントを使用した場合、上記の問題は発生しませんでした。また、テキストメッセージの設定に時間がかかった直後にテキストがコンソールに表示されました。これを何度もテストしましたが、ケースは同じです。
ある意味やってる
//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
解析時間については触れませんが、テキストの設定にかかる時間は重要です。今知りたい
アラビア語組版フォントの技術的な問題は何ですか?互換性がないか重いですか?
- 他
settext
に比べて時間がかかります。 - また、メッセージが表示された直後にテキストが表示されませんでした。
- また、ウィンドウのサイズを変更すると、GUI がしばらくフリーズします。そして、それを解決する方法は?