Окно JDialog управляет ориентацией компонента (справа налево) - PullRequest
2 голосов
/ 01 марта 2010

У меня есть вопрос о зеркалировании элементов управления окна JDialog (т. Е. Знак закрытия 'X', заголовок и т. Д.)

Когда я применяю ориентацию компонента справа налево для JDialog, он переворачивает все внутри, кроме оконных элементов управления. Сначала я думал, что это связано с JRE, который я использовал, и с региональным языком операционной системы.

Однако даже с арабской ОС (WIndows XP) и языковым стандартом JRE установлено арабское, элементы управления окнами по-прежнему не отражаются (т. Е. Знак закрытия по-прежнему находится вверху справа, а заголовок по-прежнему слева вверху)

Может кто-нибудь помочь с этим, пожалуйста?

Ваша помощь приветствуется.

Приветствия

MAA

Ответы [ 2 ]

0 голосов
/ 23 декабря 2010

Я считаю, что локализация должна идти только до содержания вашего приложения (внутренний макет и язык интерфейса). Оформление окон родной платформы выходит за рамки Java, если вы не решите отключить их и создать свое собственное (но это рискует сделать ваше приложение еще менее доступным, потому что пользователи ожидают использовать окна ОС).

Переключение на другую локализацию не обязательно означает переворачивание всего , даже если текст справа налево. Насколько я знаю, Windows никогда не меняет положения оконных кнопок, ever . Если операционная система поддерживает настройку кнопок окна, то она должна оставаться неизменной во всей ОС и не изменяться отдельными программами. В противном случае пользователь может запутаться, если вы угадаете неправильно.

Таким образом, это дает вам много веских причин оставить макет окна в покое, а также сэкономить много усилий, пытаясь сделать что-то, что изначально невозможно в Java и в любом случае не рекомендуется.

0 голосов
/ 06 марта 2010

Я никогда раньше такого не видел. Почему вы хотите, чтобы кнопка закрытия на левой стороне?

В любом случае, я думаю, что единственное решение - создать собственный диалог (окно с кнопками вверху).

...