Sheet.java



import java.awt.*;
import java.applet.Applet;

/** キー入力可能なセルを配置した Sheet クラス */

public class Sheet extends Applet {

    /** awtコンポーネント */ 

        public Label dummy;
        public Label row[];
        public Label col[];
        public TextField cell[][];

    /** フォントと色 */ 

        public Font labelFont, textFont;
        public Color color;

    /** 行と列の数 */

        protected static final int MAX_ROW = 4;
        protected static final int MAX_COL = 5;

    /** レイアウト */

        public GridLayout lay;

    /**
     * 初期設定のメソッド
     * レイアウトを GridPanelに設定
     */

        public void init() {
        	lay = new GridLayout( MAX_ROW+1, MAX_COL+1 );  //レイアウト指定
        	setLayout( lay );			//レイアウトの設定

        	col  = new Label[MAX_COL];
        	row  = new Label[MAX_ROW];
        	cell = new TextField[MAX_COL][MAX_ROW];

        	labelFont = new Font( "TimesRoman", Font.BOLD, 16 );
        	textFont  = new Font( "TimesRoman", Font.PLAIN, 16 );

        	dummy = new Label("");
        	dummy.setBackground( Color.blue );

        	for( int i=0; i<MAX_COL; i++ ) {
        		col[i] = new Label( "C" + (i+1) );
        		col[i].setBackground( Color.blue );
        		col[i].setForeground( Color.yellow );
        		col[i].setFont( labelFont );
        	}

        	for( int j=0; j<MAX_ROW; j++ ) {
        		row[j] = new Label( "R" + (j+1) );
        		row[j].setBackground( Color.blue );
        		row[j].setForeground( Color.yellow );
        		row[j].setFont( labelFont );
        	}

        	for( int j=0; j<MAX_ROW; j++ ) {
        		for( int i=0; i<MAX_COL; i++ ) {
        			cell[i][j] = new TextField();
        			cell[i][j].setBackground( Color.white );
        			cell[i][j].setForeground( Color.black );
        			cell[i][j].setFont( textFont );
        		}
        	}

        	add( dummy );
        	for( int i=0; i<MAX_COL; i++ )
        		add( col[i] );

        	for( int j=0; j<MAX_ROW; j++ ) {
        		add( row[j] );
        		for( int i=0; i<MAX_COL; i++ )
        			add( cell[i][j] );
        	}
        }
}