チュートリアルで試せる内容

1)作成する処理モジュールの仕様を決めます

2)SampleDisplay2.java を利用して,モジュール作成の準備をします

3)DotDistribution.java を編集し,プログラム作成の準備をします

コンストラクタの記述の修正

	public DotDistribution()
	{
		setModuleID(9911);	// Set your module ID after you have got it
		dataNumbers = new int[]{0,0,0,0,    // b,i,d,S
				0,0,1,0,    // bA,iA,dA,SA
				0,0,0};     // bA2,iA2,dA2
		setToolType(2);	
	}

4)一度コンパイルして,DotDistributionモジュールの動作を確認します

5)ドット分布を表示するプログラムを作成します

ファイルからの日本語の読み込み(今回は不要)

処理モジュールからデータを受け取り,ドット分布の表示に必要なデータを保存する変数を,グローバル領域で宣言します

	double values[];

initializeData() 内で変数の初期化を行います(オーバーライド)

	public void initializeData()
	{
		values = new double[1];
	}

処理モジュールからデータを受け取るメソッド,setDataを作成します(オーバーライド)

	public boolean setData(int dataID, double data[])
	{
		switch(dataID)
		{
			case 0:
				values = data;
				repaint();
				return true;
		}
		return false;
	}

ドット分布の表示プログラムを作成します

	double max,min;
	int width,height;
	//background
	public void drawBackground(Graphics2D g2)
	{
		g2.setColor(Color.black);
		g2.fillRect(0,0, sizeX, sizeY);
	}
	public void drawDistribution(Graphics2D g2)
	{
		width = sizeX - 40;
		height = sizeY - 40;
		
		max = min = values[0];
		for(int i=1;i<values.length;i++)
		{
			if(values[i] > max)
				max = values[i];
			if(values[i] < min)
				min = values[i];
		}
		
		if(max == min)
			return;
		
		g2.setColor(Color.yellow);
		for(int i=0;i<values.length;i++)
			g2.fillOval(20 +  width * i/(values.length-1),
			(int)(20 + height * (max - values[i])/(max - min)), 10,10);
	}
	//////////paint
	public void paintComponent(Graphics g)
	{
		Graphics2D g2 = (Graphics2D)g;
		
		getPanelSize();
		
		drawBackground(g2);		//background
		drawDistribution(g2);
	}
	public void update(Graphics g)		//avoid from blinking
	{
		paintComponent(g);
	}

6)コンパイルして動作を確認します


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS