2011-07-09 17 views
2

私はgwt.xmlファイルで標準のgwt CSS(CSSを適用する必要のない他のウィジェット用)を維持できます:GWTコンポーネントで適切なCSSを適用するにはどうすればいいですか?

特定のウィジェット用にカスタムテーマを適用する必要があるgwtアプリケーションがあります。
<inherits name='com.google.gwt.user.theme.standard.Standard'/> 

私は、私のアプリでClientBundleとCssResourceアプローチを使用しています。私はシンプルなCSSを適用しましたが、標準のgwt cssが提供するものと同じように、選択されたもの、選択されていないもの、ホバーとプッシュのイベント/アクションをウィジェット上でCSSに適用できるCSSを作成する必要があります。

何をするように私はこれを適用するとメニューバーのための私のCSSファイルに書き込むために:

ManuBar menuBar = new MenuBar(false); 
menuBar.setStyleName(AppResources.INSTANCE.css().menuBar()) 

私はGWTの標準メニューバーのCSSの同じメニューバーの効果を得るのだろうか?私は以下のApp.cssを使って黒いメニューバーを手に入れましたが、メニューバーのフォント色は変わらないので、CSSウィジェットをCSSに適用する適切な方法があると思いますが、ウェブ上で。私が達成しようとしているのは、メニューバーの色のテーマを黒、クローム、または何色かに変更できますが、ウィジェットを実際のメニューバーのように見せることです。

App.css:

.menuBar { 
    background:#3c3b37; 
    font-weight:bold; 
    color:#FFFFFF; 
    font-size:10px; 
} 

答えて

-1

menuBar.setStyleName( "のmenuBar")と、単純にしようとしていない理由。私はこれが動作すると確信しています。

+1

CSSのクラス名がジェネレータによって難読化されるため、OPがCSSに「ClientBundle」を使用している場合、これは機能しません。 – Daniel

+1

@Ashok、おそらくあなたは正しいです。私はちょうど同じ古いCSSファイルで普通の古いsetStyleNameを使用しました。 – xybrek

3

ensureInjectedCssResourceに電話するのを忘れたときに、私たちの多くの問題が発生しているような気がします。 CSSは決してページに追加されないので、動作していないように見えます。

AppResources.INSTANCE.css().ensureInjected(); 
関連する問題