JFrames で遊んでいますが、JFrame の背景色を設定しようとすると機能しません。私の知る限り、JFrame の contentpane で背景色を設定する必要があります。その場合、なぜこれが機能しないのかわかりません。
class drawCircles extends JFrame{
int [][] s;
Container c;
public drawCircles(int [][]circleArray){
super();
setSize(400, 400);
getContentPane().setBackground(Color.YELLOW);
s=circleArray;
show();
}
編集:はい、ペイント()をオーバーライドしました
public void paint (Graphics g){
int width=this.getHeight()/10;
int start=width;
int endY=this.getHeight()-width;
int endX=this.getWidth()-width;
for(int i=0; i<s.length; i++){
g.drawLine(i*width, start, i*width, endY);
//g.drawLine(start, i*width, endX, i*width);
}
//g.drawRect(start, start, width*s.length,width*s.length);
for(int i=0; i<s.length; i++){
for(int j=0; j<s.length; j++){
switch(s[i][j]){
case 0: g.setColor(new Color(252, 177, 177));break;
case 1: g.setColor(new Color(250, 165, 165));break;
case 2: g.setColor(new Color(242, 156, 156));break;
case 3: g.setColor(new Color(224, 133, 133));break;
case 4: g.setColor(new Color(208, 117, 117));break;
case 5: g.setColor(new Color(199, 107, 107));break;
case 6: g.setColor(new Color(191, 98, 98));break;
case 7: g.setColor(new Color(181, 88, 88));break;
case 8: g.setColor(new Color(171, 79, 79));break;
case 9: g.setColor(new Color(161, 71, 71));break;
default:g.setColor(Color.white);
}
g.fillOval(j*width, i*width, width, width);
}
}