import java.awt.*; 
import java.io.Serializable; 
import java.beans.*;
public class CustomBean extends Canvas implements Serializable 
{ 
//定义索引属性
private Color[] colorSet={Color.red,Color.green}; 

//Constructor sets inherited properties 
public CustomBean() 
{
setSize(300,200); 
} 

/*在绘制中，CustomBean 的左半部分将按照colorSet[0]中指定的颜色绘制，
右半部分将按照colorSet[1]中指定的颜色绘制。在本程序中，colorSet[0]在红色与黄色之间切换，
colorSet[1]在绿色与蓝色之间切换*/
public void paint(Graphics g) 
{
	    //设置colorSet[0]
	g.setColor(colorSet[0]);
  //按照colorSet[0]绘制左半部分
	g.fillRect(0,0,150,200);
  //将左边的颜色用文本显示出来
	g.setColor(Color.black);
	String tempColor="red";
if(colorSet[0]==Color.yellow)
	                tempColor="yellow";
	g.drawString(tempColor,20,100);
  //设置colorSet[1]
	g.setColor(colorSet[1]);
  //按照colorSet[1]绘制右半部分
	g.fillRect(150,0,150,200);
  //将右边的颜色用文本显示出来
g.setColor(Color.black);
	            tempColor="green";
	if(colorSet[1]==Color.blue)
	tempColor="blue";
	            g.drawString(tempColor,150,100);
}

/* 设置整个数组*/ 
public void setColorSet(Color[] x)
{ 
colorSet=x; 
//重绘背景色，显示属性的变化
repaint();
}
     
/* 设置数组中的单个元素值*/ 
public void setColorSet(int index, Color x)
{ 
colorSet[index]=x; 
repaint();
}
     
/* 获取整个数组*/ 
public Color[] getColorSet()
{ 
return colorSet; 
} 
    
/* 获取数组中的指定元素值*/
public Color getColorSet(int x)
{ 
return colorSet[x]; 
} 

}
