2001年6月9日更新 (ka_cap567.java)choice 文字列 からのdoubleへの変換 関谷トップページへ CG2001 トップページへ
2001.6.4 KPC 情報技術科 関谷
テキストの3.3節Javaグラフィックスの基礎と6章 Javaグラフィックスを参照のこと。
アプレットについては、Webページを参照のこと。
slsでのWindowsグラフィックス用正規分布曲線のプログラムを,javaに移植したものを紹介した。なお、Javaでは図の描画で対称な両側を描くようにしている。
アプレット プログラムの実行はgnorm_ja.htmlをクリックする。
Javaのプログラム例(Gnorm.java, gnorm_ja.html)を解析したこと、実験したことについて, 考察のこと。
Webページとして、今回分のhtmlファイルを作り、それに対するハイパーリンクを付けること。実行画面は、前述のとおり、イメージ貼り付けでなく、アプレット起動htmlファイルへのリンクすること。
Visual Basicは、Windowsでしか動かない「オブジェクト指向言語」だが、それを学習しているので、なじみやすいのではないでしょうか。
クラスAppletの継承により、ブラウザで見れるアプレット・プログラムが簡単に書ける。
描画などの処理は、対象(オブジェクト).メソッドとなる。
就職活動や進学の願書提出などで忙しい人もいたが、未提出が1/3もいる。溜めないで、その週内にアップロードすること。
イメージの貼り付けでなく、htmlファイルへのハイパーリンクによること。アプレットを起動させれば、表示される時間が、現在時間で表示される。
今日は、slsでの渦巻き模様(MoveとTurnでの練習問題56)をJavaに移植して、イベント処理によるグラフィックスを実習する。
slsを使ってのWindowsC言語グラフィックスでは、グラフィックスライブラリとして「河西のGlib.h」を移植して利用した。
このグラフィックスライブラリをJava言語では、クラスGlibwv.classとして、移植した。(C言語で言えば、分割コンパイルに近い。)
移植では、メソッド名の中で組み合わせた単語の頭文字を大文字にしたものがあるので、変更には注意が必要である。
引数は、View()関数の引数を整数intにしたほかは、すべて倍精度浮動小数点型double型に変更している。
なお、Window() とView()を使ってスケーリングをしているので、このクラスのメソッドを使用するまえに、この両者が指定されていること。
ソースプログラムGlibwv.javaは、こちらを参照のこと。
このクラスファイルGlibwv.classが、クラスを使用するJavaソースのコンパイルと実行時に必要となる。(カレントのフォルダ)
(注)Window() とView()を使って、パラメータの異なる描画を3つ並べられるようにする。
パラメータの入力は、次に説明するAWT部品を使ってのイベント処理による。
アプレットで、ボタンやテキストフィールド、チョイスボタンなどを使用したい。
中山のテキストの以下を参照のこと
(1.GUIとAWT 2.レイアウトマネージャなど)
(1.イベント階層 2.イベント処理2.1アクションイベント処理など)
イベントで取り込んだ文字列から数値への変換は、定石があるので、それを使えばよい。appletviewerでは、angle=Double.parseDouble(sta);で動く。
しかし、ブラウザ(MS-IEやNS-Navigator)では、この数値への変換ができなかったので、angle=Double.parseDouble(sta);を止めて、以下のように変更した。(2001.6.9)
Double buffer; // 2001.6.9 sekiya for IE5 and NS buffer = Double.valueOf(sta); angle= buffer.doubleValue();
ソースプログラムka_cap56.javaは、こちらを参照のこと。
C言語のプログラムでは、キー入力をMS-DOSプロンプトの窓でscanf()関数で行っていたが、appletでは、GUI部品のテキストフィールド、チョイスボタンなどを使用する。
3つの図を同時に表示するように改造した。(パラメータの配列での保存とviewの変更など。このために、コンパイルと実行では、Glibwv.classを必要とする。)
(パラメータは3つまでを順番に更新するようにした。)
再描画のボタンを追加し、このボタンをクリックしたときに再描画する。
(但し、起動時は、同じ図を3枚並べている。)
渦巻き模様appletプログラムをまず、動かしてみる。次に中身を解析して、改造を行う。
このプログラムの動作確認や解析だけならば、このWebページから、できる。
改造するには、ファイルサーバからコピーして、編集・コンパイルなどをして各自のフォルダで動作させること。
ソースプログラムka_cap56.java, Glibwv.java、クラスファイルGlibwv.class、HTMLファイルka_cap56.htmlはファイルサーバr:\sekiya\図形処理にあるので、コピーして,氏名など編集する。
各自のフォルダでの起動は、ka_cap56.htmlをダブルクリックするか、このhtmlファイルをappletviewerで起動する。
チョイスボタンが、IE5で使えるかどうか、確かめる。
移植したグラフィックスライブラリGlibwv.class(ソースはGlibwv.java)についても、解析する。
ブラウザで、描画した画面の印刷が出来るか、確認する。
印刷をするには、どうしたらよいか?
前回と同様である。特に、今回は,対話処理が必要だから、アプレット画面イメージの貼り付けでは、テストできない。
注) Webページの作り方については、関谷のWebページの「個人ホームページの作成と更新」のページを参照のこと。