top
課題:講義資料のJavaアプレットを参考に、簡単なディスプレイ出力Javaアプレットを作成せよ。
提出期限 ~2003年10月27日
学籍番号 035735k
学部学科 工学部情報工学科
氏名 仲松 義嗣 kunn
参考プログラムのソースと考察
*** ソース ***
01:import java.applet.Applet;
02:import java.awt.Graphics;
03:import java.awt.TextField;
04:import java.awt.Button;
05:import java.awt.Color;
06:
07:public class LifeCycleApplet extends Applet {
08: private TextField text;
09: private Button button;
10: private Color color;
11: private int x,y,width,height,red,green,blue;
12:
13: public void init(){
14: //テキストフィールドとボタンを追加
15: text = new TextField("Hello, TextField", 30);
16: button = new Button("Hello, Button");
17: add(text);
18: add(button);
19:
20: //パラメータの読み込み
21: x = Integer.parseInt(getParameter("abscissa"));
22: y = Integer.parseInt(getParameter("ordinate"));
23: width = Integer.parseInt(getParameter("woval"));
24: height = Integer.parseInt(getParameter("hoval"));
25:
26: red = Integer.parseInt(getParameter("red"));
27: green = Integer.parseInt(getParameter("green"));
28: blue = Integer.parseInt(getParameter("blue"));
29:
30: color = new Color(red,green,blue);
31: }
32: //public void start() {
33: //}
34:
35: //public void stop() {
36: //}
37:
38: //public void destroy() {
39: //}
40:
41: public void paint(Graphics g) {
42: //アプレットの描画処理
43: g.setColor(color);
44: g.drawString("Hello,Applet",120,80);
45:
46: g.setColor(color);
47: g.fillOval(x,y,width,height);
48: }
49:}
*** 考察 ***
キーワード
import
Javaでプログラムを作るには既存のクラスをインターフェイスを利用し、
ユーザー独自のクラスを作成します。この既存のクラスをインターフェイスを
便利に使用できるよにしたのが import です。
例えば、java.awtパッケージの Graphicsクラスを使用したい時、
import java.awt.Graphics;
とすれば、Graphicsクラスのフィールドやメソッドにアクセスしたい時にいちいち
java.awt.Graphics.クラス名
java.awt.Graphics.フィールド名
とする必要がなくなります。
public private
クラスに対する修飾子 [書式] 修飾子 class クラス名
public :このクラスのパッケージ外からもこのクラスを参照できる
abstract :実装されていないメソッドを含むクラスであることを示す
final :このクラスをスーパークラスとしてサブクラスを作れないことを示す
変数に対する修飾子 [書式] 修飾子 型 変数名;
public :どこからでもこの変数を参照できる
protected :変数を定義しているクラスとサブクラスから参照できる
private :変数を定義しているクラスからのみ参照できる
static :そのクラスにおいて1つだけ定義され、そのクラスのインスタ
ンスすべてで共通になる
final :宣言時に指定した初期値を保持し、その値を変更することができない
transient :この変数はオブジェクト内部で一時的なものとなる
メソッドに対する修飾子 [書式] 修飾子 型 メソッド名
public :外部からこのメソッドを使用できる
protected :このクラスとサブクラスからこのメソッドを使用できる
private :このクラスからのみこのメソッドを使用できる
abstract :抽象メソッドで中身は定義されていない
final :このメソッドはオーバーライド(ロード)できない
native :このメソッドはJava言語以外の言語で実装される
extends
Javaでは Objectがルートとなるツリー構造をしたクラス階層を提供してい
ます。これらのクラスに新しい機能を追加したい時に extendsを使います。
つまり、スーパークラスのフィールドやメソッドを継承し、サブクラスで
拡張できる仕組みです。
extends Applet とすると、少なくとも
public void init(),public void start(),public void stop()
の3つのメソッドが自動的に使用されています。
new
配列やオブジェクトのインスタンスを生成したり、
コンストラクタの初期化をしたりします。
void
メソッドの戻り値として voidを指定すると、デフォルト値が返されます。
クラス
java.applet.Applet
メソッド
public void init()
アプレットが作成されるときにシステムにより自動的に呼ばれ、アプレットを
初期化する
public void start()
アプレットのドキュメントが読み込まれたときにシステムにより自動的に呼ば
れる
public void stop()
アプレットのドキュメントが画面上に表示されなくなったときに、システムに
より自動的に呼ばれる
public void destroy()
java.awt.TextField
コンストラクタ
public TextField(String text, int columns)
cokumnsで示す幅でtextを初期値とするテキストフィールドを生成する
java.awt.Button
コンストラクタ
public Button(String label)
ボタンを生成し、labelで示すラベルをボタンに表示します
ボタンのサイズはlabelの長さに合わせて調整される
java.awt.Graphics
メソッド
public void drawString(String str, int x, int y)
(x,y)位置に文字列を描画します
|------>x
|
|
v
y (文字列)
public void fillOval(int x, int y, int width, int height)
始点(x,y),幅width,高さheightの四角形に内接する楕円を描き、楕円の内部を
フォアグランドカラーで塗りつぶします
java.awt.Color
コンストラクタ
public Color(int r, int g, int b)
r(赤),g(緑),b(青)の各成分を0〜255の範囲で与えRBG色を作ります
255が最も強くその色の成分を出します
パラメータ
param name=" " value=" "
appletタグ内にparamタグを入れname属性とvalue属性を指定します。
name属性にはプログラムで使われているパラメータ変数を入れ、
value属性にその具体的な数値を入れます。
*** 感想 ***
今回のレポートはいろいろあって不本意なものになってしまいました。
まず、コンピュータに与える命令をクラスごとに管理したサンプルプログラム
をレポートに使おうと試行錯誤しましたが期限内にできそうもなかったので断
念。さらに、おもしろそうなサンプルプログラムを見つけてしまって、考察
しようと思いましたが、同様に断念。結局、上のプログラムになってしまいま
した。でも、考察はしていませんが、その過程でいろいろ学べたとおもいます。
top