2012-02-10 2 views
0

В моем проекте GWT у меня есть объект HTML, который я пытаюсь отобразить в FocusPanel. Обертка слов в объекте HTML намеренно отключается.Как узнать, переполняется ли содержимое GWT HTML горизонтально?

Я хотел бы знать, как определить, переполняет ли текст окно с правой стороны.

Я попытался это:

final int width = label.getOffsetWidth(); 
final int pWidth=Window.getClientWidth(); 
if (width>pWidth) 
{ 
    //Take action if there's an overflow 
} 

, но, к сожалению, ширина окна и ширина этикетки всегда выходит то же самое, независимо от того, содержится ли текст в пределах границ окна или нет.

Итак, как я могу на самом деле рассказать, насколько широким является содержимое Label?

Спасибо.

ответ

1

Если вы используете GWT Label Widget для своего label, это фактически отображается как <div/>, поэтому его ширина всегда будет равна внешней ширине div. Вместо этого используйте GWT InlineLabel Widget.

+0

Хорошо, спасибо. Я использую HTML, а не Label, но Label - это суперкласс. –

+0

@NeilSands такой же предмет. HTML-виджет использует 'div' для рендеринга. Вам нужно что-то (InlineLabel или пользовательский виджет), который будет отображать встроенный элемент, такой как 'span' или' label'. Кроме того, вы можете попробовать установить стиль отображения 'display' CSS на свой HTML-виджет на' inline'. – Strelok