GWのガイガーカウンタ自作チャレンジ(2台目) ネクスト(20)グラフ化ツール

| | トラックバック(0)
取り敢えず、web上のcsvファイルをアクセスして、折れ線グラフとしてインターネットブラウザへ表示するJavaアプレットを作ってみた。まだ、装飾機能はない。なお、下画像のグラフの内容自身は、テスト用のなので、意味がない情報です。

11061904.jpgJavaのソースコードは、、、、

// ファイル名「test.class」として保存しないと、javacはエラーになる。
// 本ソースコードは、BSDライセンスでの配布とする。
import java.awt.*;
import java.util.*;
import java.io.*;
import java.net.*;
import java.applet.Applet; 

public class test extends Applet 
{
	int sx=2;
	int sy=3;
	int wx=320;
	int wy=240;

	public void init() {
		this.setBackground(Color.white);
	}

	public void paint(Graphics g) {
		Date dt = new Date();
		Calendar cal = Calendar.getInstance();

		int myYear = cal.get(Calendar.YEAR);
		int myMon = cal.get(Calendar.MONTH) + 1;
		int myDay = cal.get(Calendar.DATE);
		String myDate;

// 以下、URLの生成は、使用者がカスタマイズする
//
	myDate = "/demo/gmdata_"  + myYear;
	if (myMon < 10) {
		myDate = myDate + "0" ;
	}
	myDate = myDate + myMon;
	if (myDay < 10) {
		myDate = myDate + "0" ;
	}
	myDate = myDate + myDay + ".csv";

 	String url;    String host = "XXX.XX";  // ホスト名
	int port = 80;  // ポート名
	Socket sock;
	BufferedReader sockin;
	BufferedWriter sockout;
	String str;
	 int x=30,y=30,h=40,n=3;
	 int i=0;
	 int j=0;
	 int px_cur=0, py_cur=0;
 	 int px_prv=0, py_prv=0;

//	url = "http://" + host + ":" + port + myDate;
	url = "http://" + host + myDate;

	System.out.println( url );

 	try {

		wx = sx * 24 * 6;
      		g.drawLine(0,wy-1,wx,wy-1 ); // X
      		g.drawLine(0,wy-10*sy,wx,wy-10*sy ); // X

	 	 for (i=0; i<8; i++ ) {
			  g.drawLine(0,10*i*sy,wx,10*i*sy); // X
	 	 }
	 	 for (i=0; i<(6*24); i+=12 ) {
			  g.drawLine(sx*i,0,sx*i,wy); // Y
		 }
	 	 g.drawLine(sx*i,0,sx*i,wy); // Y

		sock = new Socket ( host, port );
		sockin = new BufferedReader(
		new InputStreamReader(sock.getInputStream()));
		sockout = new BufferedWriter(
		new OutputStreamWriter(sock.getOutputStream()));

		sockout.write("GET " + url +" HTTP/1.1\r\n");
		sockout.write("Host: " + host + "\r\n");
		sockout.write("Connection: close\r\n");
		sockout.write("\r\n");
		sockout.flush();

		str = sockin.readLine();
		System.out.println(str);
		str = sockin.readLine();
		System.out.println(str);
		str = sockin.readLine();
		System.out.println(str);
		str = sockin.readLine();
		System.out.println(str);
		str = sockin.readLine();
		System.out.println(str);
		str = sockin.readLine();
		System.out.println(str);
		str = sockin.readLine();
		System.out.println(str);
		str = sockin.readLine();
		System.out.println(str);
		str = sockin.readLine();
		System.out.println(str);
		str = sockin.readLine();
		System.out.println(str);
		str = sockin.readLine();
		System.out.println(str);

		g.setColor( Color.RED );
		while ((str = sockin.readLine()) != null) {
			System.out.println("------- 002 ------\n");
			System.out.println(str);

			px_cur = j * 1;

			StringTokenizer st = new StringTokenizer(str, ",");
			System.out.println("------- 003 ------\n");
			st.nextToken();
			st.hasMoreTokens();
			py_cur = Integer.valueOf(st.nextToken().replaceAll(" ", "" ))*sy;
			g.drawLine( px_prv*sx, wy-py_prv, px_cur*sx, wy-py_cur );

			 j++;
			px_prv = px_cur;
			py_prv = py_cur;
		}
		sockout.close();
		sockin.close();
		sock.close();
	 } catch (Exception ex) {
		ex.printStackTrace();
	}
}

こんな感じ。チョッチ疲れた(*´д`*)〜з iPadでもJavaアプレットが動くものと誤解してたが、動かなかったのかと、更に疲れた(*´д`*)〜з

トラックバック(0)

このブログ記事を参照しているブログ一覧: GWのガイガーカウンタ自作チャレンジ(2台目) ネクスト(20)グラフ化ツール

このブログ記事に対するトラックバックURL: http://the.nerd.jp/blogs/cgi-bin/mt-tb.cgi/4625

リンク用バナ画像

Thank you for visitors:

from 7th, May. 2005

2014年1月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

MY TWITTER

今月のイラスト/ムービー

応援サイト、その他




Visit RenderSan
<-- script type="text/javascript" src="http://swf.mikunavi.net/miku" width=150 height=44 --><-- /script --><-- br / -->
 

このブログ記事について

このページは、Digi Pontaが2011年6月19日 17:15に書いたブログ記事です。

ひとつ前のブログ記事は「アキバ徘徊」です。

次のブログ記事は「GWのガイガーカウンタ自作チャレンジ(2台目) ネクスト(21) J305β版24h動作確認」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.01

マイサイト





Trackback People






注)「Calture」の正しい綴りは、「Culture」です。お間違いないように。