读书人

J2ME色彩选择器

发布时间: 2012-10-28 09:54:44 作者: rapoo

J2ME颜色选择器
有时在项目中可能会碰到自定义软件皮肤颜色或字体颜色的功能,那么颜色选择器正好派上了用场了。

此类为直接继承自Form类,所以使用时可以直接new 一个ColorSelectorUI对像然后显示即可,

如果要保存设置的颜色值,可以直接在此类中加Command即可。

package com.flyeverzhang.test;

import javax.microedition.lcdui.CustomItem;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Gauge;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Item;
import javax.microedition.lcdui.ItemStateListener;


/**
* J2ME 颜色选择器
* @author flyeverzhang
* 2009-7-31
*/
public class ColorSelectorUI extends Form implements ItemStateListener{

private Gauge red = new Gauge("R",true,255,0);//红色分量
private Gauge green = new Gauge("G",true,255,0);//蓝色分量
private Gauge blue = new Gauge("B",true,255,255);//绿色分量
private ShowColor sc = null ;
public ColorSelectorUI( ) {
super("颜色选择器");

sc = new ShowColor("颜色预览");
this.append(this.red);
this.append(this.green);
this.append(this.blue);
this.append(sc);

//注册监听器
this.setItemStateListener(this);
}
/**
* 颜色预览窗口
* @author flyeverzhang
* 2009-7-31
*/
class ShowColor extends CustomItem {

protected ShowColor(String label) {
super(label);
}

protected int getMinContentHeight() {
return 30;
}

protected int getMinContentWidth() {
return 150;
}

protected int getPrefContentHeight(int arg0) {
return this.getMinContentHeight();
}

protected int getPrefContentWidth(int arg0) {
return this.getMinContentWidth();
}

protected void paint(Graphics g, int w, int h) {
g.setColor(red.getValue(),green.getValue(),blue.getValue());
g.fillRect(0, 0, w - 1, h - 1);
}

public void reDraw(){
this.repaint();
}
}

public void itemStateChanged(Item item) {
sc.reDraw();
}


}

读书人网 >J2ME开发

热点推荐