マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

ColorPaletteを使ってみる

今回は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;