GWTでJavaScriptを書かないAjax開発--第4回:ウィジェットの表示 - (page 2)

沖林正紀

2007-11-07 07:00

Javaアプリケーションでの処理

 サンプルアプリケーションを実行するとボタンが表示されるが、その処理は概ねリスト1のように記述する。画面に表示するButtonオブジェクトをメソッド内で定義する場合はfinalとすることになっている。クラス変数で定義する場合はそうでなくても動作する。

 ただ、リスト1はあくまでも最低限の例であって、アプリケーションがより複雑になればこの限りではないだろう。

リスト1 ボタンを表示させるJavaアプリケーションの構造(例)

package gwt.exmaple.client;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.Widget;

public class クラス名 implements EntryPoint  {

  // 最初に実行されるメソッド
  public void onModuleLoad()  {

    // ボタンのウィジェットを定義
    final Button button = new Button( "ボタンに表示するテキスト" );

    // ボタンがクリックされたときの処理を定義
    button.addClickListener( new ClickListener()  {
      public void onClick( Widget sender )  {
        // ボタンがクリックされた処理
      }
    });

    // ボタンを画面(RootPanel)に追加して表示させる
    RootPanel.get( "表示位置のID属性" ).add( button );
  }

}

スタイルシートの適用

 Buttonに対しては、デフォルトで.gwt-Buttonというスタイルシートが適用されることになっている。他のウィジェットにもデフォルトのスタイルシートが割り当てられていて、これをCSSファイルなどで定義しておくと、デフォルトでその内容が適用される。

 ボタンに表示する文字をデフォルトで大きくするには、たとえば以下のように指定すればよい。これを通常のスタイルシートと同様、HTMLの