Арабский набор шрифтов замедляет мои JTextArea, JTextPane и JTextEditor
Я используюJTextArea
показать тяжелый текст на урду, арабском и английском языках на Java. Проблема в том, что мой графический интерфейс зависает12-15sec когда я используюАрабский шрифт заJTextArea
, Я получаю текст из XML, а затем показываю в textarea, также используяlinewrap
, Мое окно также зависает примерно на5с когда я изменю размеры моего окна. Хотя на консоли мне сказали, чтовремя, затраченное на установку текста: 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
Я не собираюсь на факторВремя разбора но факторВремя, необходимое для установки текста имеет значение для меня. Теперь я хочу знать
В чем техническая проблема с арабским шрифтом, он несовместим или тяжел?
Какsettext
занимает больше времени, чем другие.Также текст не появился сразу после появления сообщения.Также GUI зависает на некоторое время при изменении размера окна. И как это решить?