レポート#1
講義資料のJavaアプレットを参考に、簡単なディスプレイ出力Javaアプレットを作成し、その動作を考察せよ。
ソースコード
1 | import java.applet.Applet; | 短名 Applet |
2 | import java.awt.Graphics; | 短名 Graphics |
3 | public class Helloa extends Applet { | サブクラス Helloa |
4 | public void paint(Graphics g) { | paint()メソッド |
5 | g.drawString("Hello, Java world!", 30, 40); | 文字列描画メソッド |
6 | } | |
7 | } |
実行結果
ソースコード
1 | import java.awt.*; | ウィンドウ関連ツール(Abstract Window Toolkit)を使う |
2 | import java.util.Random; | 乱数を使う |
3 | import java.applet.Applet; | |
4 | public class Circles extends Applet { | アプレットの名前は Circles にする |
5 | public void paint(Graphics g) { | 描画手順は以下の通り |
6 | Random a = new Random(); | 新しい乱数列 a を用意する |
7 | for (int i = 0; i < 1000; i++) { | 0 から 999 までループ |
8 | g.setColor(new Color(a.nextInt())); | 整数の乱数を発生し,それで色を決める |
9 | int x = (int)(300 * a.nextDouble()); | 整数変数 x に 300×(0以上1未満の実数の乱数) を(切り捨てて整数にして)代入する |
10 | int y = (int)(100 * a.nextDouble()) | 上と同様 |
11 | int r = (int)(40 * a.nextDouble()) + 10; | 上と同様 |
12 | g.fillOval(x - r, y - r, 2 * r, 2 * r); | 中心 (x,y),半径 r の円板を描く |
13 | } | |
14 | } | |
15 | } |
実行結果
ソースコード
1 | import java.awt.*; | ウィンドウ関連ツール(Abstract Window Toolkit)を使う |
2 | import java.util.Random; | 乱数を使う |
3 | import java.applet.Applet; | |
4 | public class sikaku extends Applet { | アプレットの名前は sikaku にする |
5 | public void paint(Graphics g) { | 描画手順は以下の通り |
6 | Random a = new Random(); | 新しい乱数列 a を用意する |
7 | for (int i = 0; i < 100; i++) { | 0 から 99 までループ |
8 | g.setColor(new Color(a.nextInt())); | 整数の乱数を発生し,それで色を決める |
9 | int x = (int)(300 * a.nextDouble()); | 整数変数 x に 300×(0以上1未満の実数の乱数) を(切り捨てて整数にして)代入する |
10 | int y = (int)(200 * a.nextDouble()); | 上と同様 |
11 | int w = (int)(100 * a.nextDouble()); | 上と同様 |
12 | int h = (int)(100 * a.nextDouble()); | 上と同様 |
13 | if(i%2==0) | if文でiが2で割れる時(偶数) |
14 | g.drawRect( x , y , w , h); | 塗りつぶされていない四角形の表示 |
15 | else | iが2で割り切れない時(奇数) |
16 | g.fillRect( x , y , w , h); | 塗りつぶされた四角形の表示 |
17 | } | |
18 | } | |
19 | } |
実行結果
1行目、java.awt.Graphicsクラスをインポートしています。Graphicsクラスは AWTによって提供されているもので文字列や線、図形などを描くことができます。 2行目、乱数を使うことを定義しています。 3行目、AppletのクラスでAppletクラスはすべてのアプレットのスーパークラスです。 アプレットは.classという拡張子で表されていて4行目はそのアプレットの名前を sikakuという名前にするということを表示している。 5行目、このメソッドはサブサブクラスの Applet 要素が継承したものを、さらに継承させる。 6行目、乱数列aを用意する。これはランダムに数字を選択する。 7行目、iを0からはじめて99まで一つずつ足していく 8行目、乱数aを使って色を決まっているsetColorのあとでredなど名前などを入力しても その色のものができる。 9行目、xの宣言をしていて0~300までの数字がランダムで入力 10行目、yの宣言をしていて0~200までの数字をランダムで入力 11行目、wの宣言をしていて0~100までの数字をランダムで入力 12行目、hの宣言をしていて0~100までの数字をランダムで入力 9~12行の間は変数の宣言でxは横、yは縦で図形が表される場所を示されていて wは四角形の横の辺のながさ、hは四角形の縦の辺のながさをそれぞれ示している iが変わる度にx,y,w,hの値も変化する 14~16行目、if文,elseを使いiに条件を与えた iが偶数の時は枠だけの四角形がでてくる、iが奇数の時は塗りつぶされた四角形がでてくる このときの図形がでる場所や大きさもランダムになっている 他にもこのiは図形の数を表していると思われる。授業では1000になっていたが自分では数字を少なく するだけで実行結果に空白がみられるようになった 他にもアプレットでは多角形の図形を表示することができたり線だけの表示 文字自体の大きさや筆記体などをいろいろ変えることが出来ます あとif文などが使えたのでもうすこしいろいろ使えるものがあると思います
今回からC言語がJavaになったということもあってはじめはとまどうばっかりだったし htmlという新しい範囲での勉強も必要だったので思った以上に大変でした。 アップレットをwebページで探してみるともっとすごい動きをするものや ゲームができたりするアプレットがあったのでもっといろいろとサイトをみて 勉強しようと思いました。それに授業でもっと勉強するとそれだけ中身が濃いものが できると思います。これからもがんばろうと思います。