2012-02-22 14 views
4

私はVaadinでツリーコンポーネントを拡張しようとしています。拡張Vaadinウィジェット

import com.vaadin.terminal.gwt.client.ui.VTree; 
public class CustomVtree extends VTree { 
} 

サーバー側クラス:だから私は、クライアント側のクラスを作成し

import com.vaadin.ui.ClientWidget; 
import com.vaadin.ui.Tree; 
@ClientWidget(CustomVtree.class) 
public class MyTree extends Tree { 
    public MyTree() { 
     super(); 
    } 
} 

そして私は [WARN] Widget class com.vaadin.sample.gwt.client.ui.CustomVtree was not found. The component com.vaadin.sample.gwt.client.ui.MyTree will not be included in the widgetset. を得た私は、私が間違ってやっているものを何をするのを忘れたりしましたか?どんな助けにもうれしいです。ありがとう

+0

Сonnectorを作成する必要はありませんか? – Alex78191

答えて

6

あなたのクラスは正しく見えるが、1つの事がありません:GWTモジュール記述子ファイルを。そのファイルをcom.vaadin.sample.gwtパッケージに追加します。ここではMyWidgetset.gwt.xmlという名前を付けます。

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.0/distro-source/core/src/gwt-module.dtd"> 
<module> 
    <inherits name="com.vaadin.terminal.gwt.DefaultWidgetSet" /> 
</module> 

をそして、あなたはこのウィジェットセットを使用したいのweb.xmlで定義する必要があります:あなたは、プロジェクト内の任意のアドオンを持っていない場合は、ファイルの内容は、次のようになります。

<init-param> 
    <description>Application widgetset</description> 
    <param-name>widgetset</param-name> 
    <param-value>com.vaadin.sample.gwt.MyWidgetset</param-value> 
</init-param> 

これらの手順の後、GWTコンパイルが機能するはずです。

1

パッケージ宣言とは何ですか?

クライアント側コンポーネントを拡張する場合は、クライアント側のクラスがコンパイルする場合

yourpackage.widgetset.client.ui

に、このパッケージは任意のウィジェットを発見したためにスキャンされ、あなたのウィジェットセットに追加する必要があります。

次に、init-paramタグを変更するためにweb.xmlを変更する必要があります。ここで

BREF再開

はあなたを助けるために: Creating a widget

関連する問題