今回はExt GWTにある、色を選択できるコンポーネントのColorPaletteを使ってみた。サンプルらしきものが見当たらなかったので、APIドキュメント見ながらプログラム作成。デフォルトである程度色を選べるため、コンストラクタ呼び出して、イベントリスナ追加するだけで十分使えたりする。下のソースが、色を選んだときにメッセージボックスで選んだ色を表示するプログラム。ColorPaletteの色はStringで表されていて、RGBを16進数にしたものになっている。0xとかhとか#とかつかないで"CC9966"のようになっている。
ColorPalette colorPalette = new ColorPalette(); colorPalette.addListener(Events.Select, new Listener<ColorPaletteEvent>(){ public void handleEvent(ColorPaletteEvent e){ MessageBox.alert("Color", e.getColor(), null).show(); } });
選択できる色を指定することもできるがaddColorのような、後から追加するようなメソッドはなくsetColorsで全部指定するしかない。幸いgetColorsというメソッドがあるので、自分で追加させることはできるようだ。以下が選択できる色を指定する例。
colorPalette.setColors(new String[]{"A0A0A0", "C0C0C0"});
最後に今回でてきたクラスをimportしてる部分を載せておく。
import com.extjs.gxt.ui.client.widget.ColorPalette; import com.extjs.gxt.ui.client.event.Events; import com.extjs.gxt.ui.client.event.Listener; import com.extjs.gxt.ui.client.event.ColorPaletteEvent; import com.extjs.gxt.ui.client.widget.MessageBox;