Динамически создавать экраны GWT с использованием метаданных? - PullRequest
1 голос
/ 02 апреля 2010

У меня есть приложение-апплет AWT, которое нужно перенести в GWT.Экраны апплета описаны в метаданных, и апплет отображает каждый экран динамически, используя отражение.

Нам бы хотелось того же в GWT / ExtGWT.

Я создал рабочую версию этого ExtJS, в которой метаданные превращаются в конфигурации экрана ExtJS в форме JSON.Недостатком этого подхода является то, что «соединение» элементов управления с данными должно быть написано на Javascript.

GWT предпочтительнее, поскольку это будет весь код Java, а не JS.После копания можно отобразить экраны с помощью GWT из метаданных с помощью GWT.create ().

Проблема, с которой я столкнулся, заключается в подключении динамически созданной кнопки, например, к обработчику событий, для которого требуется отражение, которое не поддерживается в GWT.

Правильно ли сделан этот вывод?и если да, есть ли другие способы достижения этого типа динамического пользовательского интерфейса с помощью ExtGWT?

1 Ответ

0 голосов
/ 09 апреля 2010

Для extGWT, где у нас нет декларативного пользовательского интерфейса, самым простым решением может быть просто добавить отображение / конфигурацию ваших обработчиков в java, которые ссылаются на созданные экземпляры классов. из обработчиков, т.е.

Map<String, ActionListener> mapping = new HashMap<String, ActionListener>();
mapping.put("HandleClicked", new HandleClickedActionListener());

тогда вы можете попытаться найти реализующий класс для ваших метаданных.

Для чистого GWT 2 вы можете посмотреть на http://code.google.com/intl/de-DE/webtoolkit/doc/latest/DevGuideUiBinder.html#Simple_binding, как это делается там. может быть возможно создать похожее решение, в котором будут указаны методы для вашего собственного решения extgwt, например, в gwt.

...