GWT DisclosurePanel со значком стрелки и заголовком виджета?

Мне нужно иметь DisclosurePanel с виджетом FlexTable в качестве заголовка и включить значок стрелки с анимацией.

При добавлении виджета в DisclosurePanel значок стрелки отключается / заменяется виджетом.

Я решил, что мне нужно либо создать новый класс, который расширяет FlexTable и имеет ячейку со значком стрелки и соответствующим обработчиком щелчка для анимации значка, либо создать класс-оболочку для DisclosurePanel (так как это конечный класс). Кажется ли что-либо из этого жизнеспособным решением?

1 ответ

Решение

Я бы создал более общий виджет Composite под названием HeaderWidgetWithArrow который содержит

  1. Изображение стрелки вниз
  2. Любой произвольный виджет (например, FlexTable)

Если вы хотите включить стрелку для панели раскрытия и, скажем, HorizontalPanel, вы можете просто повторно использовать HeaderWidgetWithArrow для этого.

В любом случае, я бы не рекомендовал расширять FlexTable или DisclosurePanel. Вы должны отдать предпочтение композиции, а не наследованию.

Другие вопросы по тегам