/*       かけざん九九の表　              */
/*                               by s.kano  */

import java.awt.*;
import java.util.StringTokenizer;
import java.applet.Applet;
import java.awt.event.*;

public class kukuhy02 extends java.applet.Applet implements ActionListener {

 /*   ImgCanvas mycanvas1;*/
    Panel myPanel01,myPanel,myPanel3,myPanel4,myPanel2,myPanel1;
 
    Label myLabeld[];
    Label myLabel,myLabel1;
  
    Button myButton1;
    Button myButtond[];
 
 
    String str1;
    int flag1=0;
    int flag[];
    int icnt,ixcnt,iycnt;
	Font myFont;
	Font myFont1;

    public void init() {
	int ixcnt=1;
	int iycnt=1;

	flag = new int[100];
	myLabeld = new Label[100];
	myButtond = new Button[100];

	myFont= new Font("Dialog",Font.BOLD,11);
	setForeground(Color.blue);
	setBackground(new Color(0xff,0xff,0xff));

	setLayout(new BorderLayout(2,2));

	myPanel3 = new Panel();
	add (myPanel3,"North");


	myPanel3.setLayout(new GridLayout(10,10,1,1));
	myPanel3.setBackground(new Color(0x2f,0x2f,0xff));

	myPanel3.setForeground(Color.blue);
	myPanel3.setFont(myFont);	

	myPanel = new Panel();
	myPanel3.add (myPanel);
	myPanel.setLayout(new FlowLayout(FlowLayout.CENTER));
	myPanel.setBackground(new Color(0xaf,0xdf,0xcf));
	myLabeld[0] = new Label("***");
	myLabeld[0].setFont(myFont);
	myPanel.add(myLabeld[0],"Center");


	for (ixcnt=1; ixcnt<=9; ixcnt++) {
		myPanel = new Panel();
		myPanel3.add (myPanel);
		myPanel.setLayout(new FlowLayout(FlowLayout.CENTER));
		myPanel.setBackground(new Color(0xaf,0xdf,0xcf));
		myLabeld[ixcnt] = new Label(" "+ixcnt);
		myLabeld[ixcnt].setFont(myFont);
		myPanel.add(myLabeld[ixcnt],"Center");
	}

	for (iycnt=1; iycnt<=9; iycnt++) {

		myPanel = new Panel();
		myPanel3.add (myPanel);
		myPanel.setLayout(new FlowLayout(FlowLayout.CENTER));
		myPanel.setBackground(new Color(0xaf,0xdf,0xcf));
		icnt=iycnt*10;
		myLabeld[icnt] = new Label(" "+iycnt);
		myLabeld[icnt].setFont(myFont);
		myPanel.add(myLabeld[icnt],"Center");

		for (ixcnt=1; ixcnt<=9; ixcnt++) {
			icnt=iycnt*10+ixcnt;
			myPanel = new Panel();
			
			myPanel.setLayout(new GridLayout(2,1));
			myButtond[icnt] = new Button(iycnt+"×"+ixcnt);
			myButtond[icnt].addActionListener(this);
			myButtond[icnt].setFont(myFont);
			myButtond[icnt].setForeground(Color.blue);
			myButtond[icnt].setBackground(new Color(0xaf,0xdf,0xcf));
			myPanel.add(myButtond[icnt]);
			myPanel3.add (myPanel);

			myPanel2 = new Panel();
			myPanel2.setLayout(new FlowLayout(FlowLayout.CENTER));
			myPanel2.setBackground(new Color(0xaf,0xdf,0xcf));
			myLabeld[icnt]= new Label("?");
			myLabeld[icnt].setFont(myFont);
			myPanel2.add(myLabeld[icnt],"Center");
			myPanel.add(myPanel2);
			flag[icnt]=0;

		}
	}

	myPanel4 = new Panel();
	add (myPanel4,"West");


	myPanel4.setLayout(new FlowLayout(FlowLayout.CENTER));
	myPanel4.setBackground(new Color(0xff,0xff,0xff));

	myPanel4.setForeground(Color.blue);
	myPanel4.setFont(myFont);	

	myButtond[1] = new Button("答えを全部かくす");
	myButtond[1].addActionListener(this);
	myButtond[1].setFont(myFont);
	myButtond[1].setForeground(Color.blue);
	myButtond[1].setBackground(new Color(0xaf,0xdf,0xcf));
	myPanel4.add(myButtond[1]);

	myButtond[2] = new Button("答えを全部表示する");
	myButtond[2].addActionListener(this);
	myButtond[2].setFont(myFont);
	myButtond[2].setForeground(Color.blue);
	myButtond[2].setBackground(new Color(0xaf,0xdf,0xcf));
	myPanel4.add(myButtond[2]);



    }




    public void actionPerformed(ActionEvent e) {
	int iicnt,iixcnt,iiycnt;



	for (iiycnt=1; iiycnt<=9; iiycnt++) {
	/*	iicnt=iiycnt*10;*/
	  for (iixcnt=1; iixcnt<=9; iixcnt++) {
	    iicnt=iiycnt*10+iixcnt;

	    if (e.getSource() == myButtond[1]) {
			if(flag[iicnt] == 1){
				myLabeld[iicnt].setText("?");

				flag[iicnt]=0;
			}
		}

	    if (e.getSource() == myButtond[2]) {
			if(flag[iicnt] == 0){
			
				myLabeld[iicnt].setText(""+iixcnt*iiycnt);

				flag[iicnt]=1;
	
 	        	}
            }


	    if (e.getSource() == myButtond[iicnt]) {
			if(flag[iicnt] == 1){
				myLabeld[iicnt].setText("?");

				flag[iicnt]=0;
			}
			else{
				myLabeld[iicnt].setText(""+iiycnt*iixcnt);

				flag[iicnt]=1;
	
 	        	}
            }
	  }
	}
    }


}

