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

Я новичок GWT, поэтому, пожалуйста, потерпите меня.

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

Однако я хочу загрузить правую часть панели в зависимости от того, что пользователь выбирает в меню навигации. Это достаточно просто в одном ОГРОМНОМ классе, но я хочу написать класс для каждой опции навигации.

Например:

  1. Пользователь нажимает на option1 в левом меню, создает экземпляр объекта Option1 из класса Option1 и добавляет его на правую панель.
  2. Пользователь нажимает на option2 в левом меню, создает экземпляр объекта Option2 из класса Option2 и переопределяет все, что было ранее на правой панели.

Можно ли это сделать без создания специального виджета для каждого параметра?

Если так, то как? пожалуйста, помогите!

Ваша помощь приветствуется!

Harperonline

Ответы [ 2 ]

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

Просто создайте общедоступную переменную Widget статического класса (public static Widget contentPanel = new VerticalPanel ()) в вашем начальном классе GWT. Добавьте этот виджет справа от горизонтальной панели. Затем, когда вы нажимаете левую навигацию, вы просто создаете каждый из их классов так, как вам нужно, и создаете конструктор класса для вызова contentPanel.clear () и, наконец, contentPanel.add ().

Если вы хотите упростить процесс. Вы можете сделать так, чтобы ваши отдельные классы контента реализовали общий абстрактный класс для обработки всех распространенных работ.

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

Предполагая, что вы используете HorizontalSplitPane, вы можете сделать следующее:

Вариант2:

HorizPanel.getRightWidget().removeFromParent(); 
HorizPanel.setRightWidget( new Option2() ); 

Опция1:

 Widget W = HorizPanel.getRightWidget(); 
 w.add( new Option1() ); 

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

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