6

I'm investigating the best practices to use Bootstrap library with GWT. I prefer not use the GWT-Bootstrap project and prefer to use plain css and js Bootstrap library in my GWT app.

I'm searching how i can apply Bootstrap style to GWT UI components? do i need to do this in the UI view code by working on the DOM Elements of GWT components ? or is there any other clean way to achieve this integration of GWT and Bootstrap?

4

2 に答える 2

12

いいえ、ブートストラップスタイルをgwtコンポーネントに簡単に追加する方法はありません。DOMを処理し、いくつかのGWT CSSクラスを削除し、代わりにGWTクラスを追加する必要があります。少なくとも、コードを1つの場所からどこにでもコピーすると、元のコンポーネントを拡張するクラスが作成され、この新しいクラスがどこでも使用されます。これは基本的にGWT-Bootstrapが行うことです。

約1年前、私はあなたが今言っていることを正確に実行したかったので、これを知っています。ブートストラップスタイルをクリーンな方法でGWTコンポーネントに適用し、それが機能するように管理して、GWT-Bootstrap開発を開始しました。

GWT-Bootstrapは、実際にはgwt + bootstrap統合のバグのほとんどをすでに解決しており、基本的にすべてのプロジェクトでうまく機能します。一部のコンポーネントはまだ実装されていないか、バグがあることは知っていますが、一部を修正してプルリクエスト(IMHO)を作成することもできます。これは、すべてを再構築するよりも優れています。

于 2012-10-26T10:33:50.547 に答える
2

addStyleNamesUiBinder XMLの属性または Java コードの同じメソッドを使用して Bootstrap の CSS クラスを追加することで、サードパーティのラッパー ライブラリがなくても、Bootstrap と GWT を確実に使用できます。data-toggleしかし、Bootstrap は、たとえば「魔法」を起こすために、カスタム データ属性にも大きく作用します。GWT のデフォルト ウィジェット (FlowPanelなど) はこれらのカスタム属性のセッターを提供しないため、UiBinder XML でそれらを設定することはできず、多くのことを書いていることに気付くでしょう。

getElement().setAttribute(...)

あなたのJavaコードで。

それが、 GWT-BootstrapGwtBootstrap3などのラッパー ライブラリの目的です。これらの機能をラップするカスタム ウィジェットが提供されるため、デフォルトの GWT ウィジェットで慣れているように Bootstrap ウィジェットを使用できます。

于 2013-08-18T10:52:56.033 に答える