Создание нового потока в Vaadin Java с помощью GWT Graphics
Я создаю свой первый проект Vaadin, и у меня много проблем с пониманием того, как он работает. Я создал новый виджет, который использует GWT Graphics, и я нарисовал некоторые объекты на экране. Однако иногда, вместо отображения DrawingArea, мой браузер показывает мне эту ошибку
Widgetset 'com.example.jtpwebapp.JtpwebappWidgetset' не содержит реализацию для com.example.jtpwebapp.MyComponent. Проверьте отображение @Connect его коннектора компонента, файл описания модуля GWT наборов виджетов и пересоберите ваш набор виджетов. Если вы скачали пакет дополнений vaadin, вы можете обратиться к инструкциям по дополнению.
Другие компоненты просто отлично. Например, эта ошибка появляется, если я просто создаю новую тему new Thread() {
public void run() {}
}.start();
Перекомпиляция набора виджетов не дает мне ошибок. Я не изменяю ни отображение @Connect, ни редактирование файла модуля. На самом деле не так много кода для совместного использования, я создал новый виджет Vaadin с помощью плагина Eclipse и редактировал его только в нескольких местах.
Я также получаю эту ошибку, когда пытаюсь заставить свой виджет реализовывать ClickHandler.
1 ответ
GWT содержит только эмулируемое подмножество среды выполнения Java. Thread - это один из классов, который не включен; JavaScript не поддерживает многопоточность, поэтому компилятор GWT не может сгенерировать для него код. Полная ссылка на то, что поддерживается, доступна здесь.
Теперь, к сожалению, отсутствующая эмуляция не обнаруживается во время компиляции, но GWT выполняет проверки в отношении библиотеки эмуляции JRE. Вам просто нужно запустить приложение в режиме разработчика. Раздел " Отладка клиентского кода " в Книге Ваадина довольно хорошо объясняет, как этого добиться с помощью Ваадина.