СтекПанель расширяется?
У меня есть нормальная панель стека, например http://gwt.googleusercontent.com/samples/Showcase/Showcase.html
но нет, я не хочу, чтобы мой другой виджет рухнул, когда я раскрыл другой.
как в SmartGWT:
1 ответ
К сожалению, нет простого решения, которое отвечало бы всем вашим потребностям. Недавно я подробно рассмотрел эту же проблему, и вот варианты, которые я придумал.
Написать / изменить свой собственный компонент
Вы можете попробовать расширить StackLayoutPanel, чтобы добавить необходимые вам функции. Метод animate является общедоступным в последней версии (но не в 2.0), но вам придется добавить немного настроек, чтобы отслеживать, какие панели расширены. Может быть проще просто использовать его как основу для нового виджета. Исходный код здесь.
Плюсы: может гарантировать точную функциональность и изменять ее по требованию.
Минусы: требует глубоких знаний и времени разработки.
Раскрытие панелей, уложенных в вертикальную панель
Это самое близкое, что может предложить GWT, если вам нужно использовать стандартные виджеты. DisclosurePanels позволяет вам иметь виджет заголовка, который при щелчке расширяет или скрывает виджет контента. С несколькими сложенными друг на друга вы можете иметь несколько открытых одновременно.
Тем не менее, панели раскрытия информации не будут изменять свой контент, чтобы соответствовать ограниченному пространству. Если они слишком велики для предоставленного пространства, они вытолкнут другие DisclosurePanels из поля зрения. Это хорошо, если вы не против прокрутки, чтобы увидеть другие заголовки.
Плюсы: использует стандартные компоненты GWT и прост в реализации.
Минусы: не все заголовки могут быть видны одновременно в зависимости от длины содержимого расширенных разделов.
Используйте StackLayoutPanel
Плюсы: использует стандартные компоненты GWT и прост в реализации. Все заголовки видны всегда.
Минусы: только один раздел виден одновременно.
Использовать сторонний компонент
SmartGWT приходит на ум.;)
Плюсы: вы сможете получить именно ту функциональность, которую вам нужны.
Минусы: приходится использовать сторонний компонент, который может содержать ошибки или добавлять другие ненужные раздувания в ваш код.