GWT Label получает правильную ширину - PullRequest
0 голосов
/ 07 сентября 2011

Когда я прикрепил Label к AbsolutePanel и написал «label.getOffsetWidth ()», я, например, получил ширину 700px для AbsolutePanel и ширину 698px для Этикетка. Конечно, этикетка меньше меньше. Я думаю, что это из-за заполнения или что-то вроде этого. Высота кажется правильной. Есть ли причина для? Я хочу разместить ярлык для примера в центре Панель, но поэтому я должен знать реальный размер этикетки.

1 Ответ

1 голос
/ 07 сентября 2011

Вы можете получить только ширину div, содержащего текст в вашей метке - нет никакого отличного способа получить ширину самого текста.

Вы можете попробовать установить ширину метки равной 0, подождать некоторое время, а затем спросить getOffsetWidth, какова ширина метки. Браузер может установить для div минимальную ширину, которая по-прежнему содержит нужный текст. К сожалению, это усложнит правила обёртывания и переполнения. Вам также всегда придётся подождать фрейм, чтобы сделать макет, который не будет хорошо выглядеть.

Для центрирования фрагмента текста лучшее решение - использовать CSS. См. http://www.w3.org/Style/Examples/007/center#text и примените стили, подобные этим, к вашему Label.

...