Добавление содержимого в горизонтальную панель GWT из другого класса - PullRequest
0 голосов
/ 21 октября 2009

Я пытаюсь заполнить правую часть HorizontalPanel, используемой в методе onModuleLoad (), из другого класса (содержащего другие виджеты), чтобы сохранить код отдельным.

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

Должен ли этот другой класс быть составным виджетом? Или я могу сделать то же самое, что и при создании класса Entry?

Ответы [ 2 ]

0 голосов
/ 21 октября 2009

Просто добавьте ссылку на горизонтальную панель в другой класс (например, класс контроллера или класс главной панели), а затем вызовите этот класс с правой стороны панели. Вы даже можете иметь класс контроллера, который содержит эту статическую горизонтальную панель с помощью метода, подобного

HorizontalPanel hPanel; //set this from on module load, or controller.create method for instance
public static setRightContents(Panel panel){ 
hPanel.add(panel)
}

и просто позвоните из другого класса Controller.setRightContents(myNewRightPanel).

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

0 голосов
/ 21 октября 2009

Я не уверен, имеете ли вы в виду, что хотите загрузить совершенно другой модуль GWT на правой панели или просто хотите загрузить другой класс. Я предполагаю последнее. Смысл.

В этом случае GWT TabPanel, но расположена вертикально. Это комбинация DeckPanel и TabBarPanel. В GWT доступен стандартный VerticalTabPanel, но вы можете найти его в библиотеке cobogw с открытым исходным кодом, см. http://www.cobogw.org. Пример с исходным кодом можно найти на демонстрационной странице: http://cobogw.googlecode.com/svn/demo/WidgetsDemo.html#VerticalTabPanel

В примере также используется LazyPanel. Это означает, что каждый класс инициализируется только тогда, когда пользователь нажимает на ссылку, что значительно ускоряет запуск.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...