У меня есть JTextArea, который отображает HTML арабской веб-страницы. По сути, это смесь английского и арабского языков. В JTextArea, когда для столбцов установлено значение 30, определенный текст просто исчезает вместо правильного переноса. Странно то, что если я скопирую невидимый текст и вставлю его в Блокнот, то я увижу его в Блокноте. Если я изменю количество столбцов на 40, все будет отображаться нормально. Есть идеи?




Исчезает 30-й символ? Возможно, из-за сценария JTextArea не может правильно отображать арабские символы. Таким образом, он правильно считает символы, но не понимает, что они занимают больше места. Поддержка таких шрифтов невелика, поэтому вы можете написать собственный рендерер для JTextArea, чтобы справиться с этим (чтобы вы могли вручную учесть надлежащий объем места, необходимый для каждого символа в арабском языке, и соответствующим образом настроить перенос строк).
Смотрите этот снимок экрана с проблемой:

Эли, спасибо за ответ. Не уверен, что я правильно объяснил проблему. Слева на скриншоте - JTextArea. Справа - выбор из JTextArea, вставленный в Блокнот. Теперь в этом больше смысла?
Да, хорошая идея. Кажется, проблема не в арабском. Это как-то связано с вкладками. Все исчезающие строки начинаются с 5 вкладок. Если я удалю одну вкладку так, чтобы они начинались с 4 вкладок, они отображаются в JTextArea нормально.
какой у вас интервал для вкладок? Он установлен на 6?
по умолчанию установлено значение 8, но его изменение не помогает. Я видел, как другие люди тоже сообщали об этой проблеме (bugs.sun.com/bugdatabase/…). Мое решение - просто заменить вкладки с пробелами. Спасибо за помощь мне эли
Вы все еще сталкиваетесь с этой проблемой даже без арабского языка в тексте, или это только когда вы добавляете арабский язык? Попробуйте вставить текст из блокнота в текстовую область с арабским языком и без него, и дайте мне знать, что произойдет.