10

Vaadin 7 でプロジェクトを行っています。ページのテーマを変更する必要があります。

Vaadin 6 には、「setTheme()」という関数があります。コード内の好きな場所でその関数を使用してテーマを変更できるようにします。

しかし、Vaadin 7 では、そのようなものは見つかりませんでした。

私はそれを行う方法があることを知っています。

また、テーマを変更したときに UI に変更を適用する方法を教えてください。

自動的に変更されますか?(また)

ICEPushは私を助けてくれますか?

4

7 に答える 7

11

Vaadin 7 では、メソッド「setTheme()」が新しいアノテーション @Theme に置き換えられました。Vaadin 7 では「その場でのテーマ変更」はできません。

このVaadin フォーラム スレッドには、Vaadin 7 でのオン フライ テーマの変更に関する議論があります。ぜひご覧ください。

于 2013-04-22T08:26:24.870 に答える
4

カスタムテーマを使用したので、かなりシンプルにしました。トグル ボタンを使用して、必要なコードを毎回実行しました。

JavaScript.getCurrent().execute("document.body.className = document.body.className.replace(\"theme1\",\"theme2\"); ");

JavaScript.getCurrent().execute("document.body.className = document.body.className.replace(\"theme2\",\"theme1\"); ");

私のcssファイルはこのようになります。

.theme1 .v-button {
   /* some css attribute */
}

.theme2 .v-button {
   /* some css attribute */
}

私を信じてください; Vaadin サーバーに切り替えを要求するのではなく、ブラウザー自体がテーマを切り替えるためのトリックを実行するため、テーマの切り替えは非常に高速です。

于 2014-05-14T07:15:11.227 に答える
1

Vaadin 7.3 以降、 UI#setTheme()を使用できます

于 2015-04-20T15:43:33.620 に答える
1

チャートのテーマについて: ComboBox または OptionGroup (ラジオ ボタンの場合) のいずれかのリスナー内のどこかにスイッチを配置して、次の ChartOptions 静的メソッド呼び出しを行います。

ChartOptions.get().setTheme(new VaadinTheme())

それから

ChartOptions.get().setTheme(new SkiesTheme())

GridTheme(); もあります。GrayTheme() および HighChartsDefaultTheme(); 基本テーマを拡張して独自のテーマを作成することもできます (Vaadin の本で調べてください)。

于 2014-05-13T23:47:13.630 に答える
0

Vaadin 7 以降のバージョンでは、ここで指定したテーマ名に基づいて @Theme(yourThemeName) というアノテーションがあり、特定の .scss スタイルにリダイレクトされます。このアノテーションは、Init メソッドが呼び出される前に呼び出されます。

于 2016-12-14T12:27:04.997 に答える