ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Javaの課題丸投げコミュのまたまたよろしくお願いします

  • mixiチェック
  • このエントリーをはてなブックマークに追加
1.円の色と背景色の色を変えてみる。
2.横線の本数をこれよりも少し多くして、長さも少し長くしてみる。
3.図形の後ろに別の図形を入れてみる。
4.背景にドット模様を入れてみる。
5.マウスクリックによって、線を縦と横の位置を入れ替えてみる。
6.マウスの位置によって線の長さを変えてみる。

このような条件を取り入れて図を作ってもらえるとうれしいです。

以下これがもともと入ってるプログラムです。



import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.applet.AudioClip;

public class Final_4A_Metzger
extends Applet {

// プログラム内で使う変数や、オブジェクトの入れものを用意する
int mx = 0, my = 0; // マウスのx座標の記録用変数 mx, y座標の記録用変数 my
Graphics g; // アプレットに組み込まれているグラフィクス描画部品を入れておくためのオブジェクト g
Applet app; // アプレットである自分自身を呼び出せるように入れておくためのオブジェクト app
Image img[]; // 画像ファイルから読み込んだ画像を入れて使用するためのオブジェクト (今回は配列として用意)
AudioClip ac[]; // 音声ファイルを入れるためのオブジェクト(今回は配列として用意)
////////////////////////////
// この図形描画で用いる変数
int D = 450; // 円の直径
int N = 20; // 横直線の本数
int W = 10; // 直線間の距離

// プログラム起動時の初期化処理
public void init() {
// アプレット自身this を、どこからでも呼び出せるように app に代入しておく
app = this;
app.setSize(900, 900);

// アプレットが持つ描画面を受け取り、gにわたす
g = app.getGraphics();

// このアプレットの背景を着色する
app.setBackground(new Color(250, 250, 250));

// 用意しておいた画像をimgに読み込み、プログラム中で利用できるようにする
img = new Image[10];
for (int i = 0; i < 10; i++) {
img[i] = app.getImage(app.getDocumentBase(), "images/t" + i + ".gif");
}

// 用意しておいた音声をac[]に読み込み、プログラム中で利用できるようにする
ac = new AudioClip[3];
for (int i = 0; i < 3; i++) {
String num = "" + i;
ac[i] = app.getAudioClip(getDocumentBase(), "sounds/s" + num + ".wav");
}

//<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<< イベント処理用部品の登録 >>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>

///////////////////////////////////////////////////////////////////////////
// (1)マウスの瞬間動作に反応する「イベントリスナー」MouseListenerを登録して使う
///////////////////////////////////////////////////////////////////////////
this.addMouseListener(
new MouseAdapter() {

// マウスがクリックされたときの処理
public void mouseClicked(MouseEvent e) {
//////////////////////
// マウス座標を、変数mx,myに受け取る
mx = e.getX();
my = e.getY();
System.out.println("(1)mouseClicked at " + mx + ", " + my);

//////////////////////
// クリックされたときにその位置に灰色で「(1)mouseClicked...」と表示する
//g.setColor(Color.gray);
//g.drawString("(1)mouseClicked...", e.getX(), e.getY());

//////////////////////
// クリック位置を判定して、音を再生する
// 250<=X<=300 かつ 90<=Y<=140 の場所をクリックすると音が出るように条件分岐させる
if (250 <= e.getX() && e.getX() <= 300 && 90 <= e.getY() && e.getY() <= 140) {
//(練習)「s0.wav s1.wav の音からランダムに選んで再生するにはどうすればいいか」
ac[2].play(); // s2番の音を再生させている
}

//////////////////////
// 変数を変化させたときに、強制的に再描画するには、
// 下記のコメントを外し repaintメソッドを呼ぶとよい。
// repaint();
}

// マウスカーソルが画面内に入ったときの処理
public void mouseEntered(MouseEvent e) {
//////////////////////
// マウス座標を、変数mx,myに受け取る
mx = e.getX();
my = e.getY();
System.out.println("(2)mouseEntered at " + mx + ", " + my);

//////////////////////
// マウスカーソルが画面に入ったときにその位置に橙色で「(2)mouseEntered...」と表示する
// g.setColor(Color.orange);
// g.drawString("(2)mouseEntered...", e.getX(), e.getY());

//////////////////////
// 変数を変化させたときに、強制的に再描画するには、
// 下記のコメントを外し repaintメソッドを呼ぶとよい。
// repaint();
}

// マウスカーソルが画面から出たときの処理
public void mouseExited(MouseEvent e) {
//////////////////////
// マウス座標を、変数mx,myに受け取る
mx = e.getX();
my = e.getY();
System.out.println("(3)mouseExited at " + mx + ", " + my);

//////////////////////
// マウスカーソルが画面から出たときにその位置にシアン色で「(3)mouseExited...」と表示する
// g.setColor(Color.cyan);
// g.drawString("(3)mouseExited...", e.getX(), e.getY());

//////////////////////
// 変数を変化させたときに、強制的に再描画するには、
// 下記のコメントを外し repaintメソッドを呼ぶとよい。
// repaint();
}

//
public void mousePressed(MouseEvent e) {
//////////////////////
// マウス座標を、変数mx,myに受け取る
mx = e.getX();
my = e.getY();
System.out.println("(4)mousePressed at " + mx + ", " + my);

//////////////////////
// マウスボタンが押し下げられたときにその位置に桃色で「(4)mousePressed...」と表示する
// g.setColor(Color.pink);
// g.drawString("(4)mousePressed...", e.getX(), e.getY());

//////////////////////
// 変数を変化させたときに、強制的に再描画するには、
// 下記のコメントを外し repaintメソッドを呼ぶとよい。
// repaint();
}

//
public void mouseReleased(MouseEvent e) {
//////////////////////
// マウス座標を、変数mx,myに受け取る
mx = e.getX();
my = e.getY();
System.out.println("(5)mouseReleased at " + mx + ", " + my);
//////////////////////
// マウスボタンが離されたときにその位置に緑色で「(5)mouseReleased...」と表示する
// g.setColor(Color.green);
// g.drawString("(5)mouseReleased...", e.getX(), e.getY());

//////////////////////
// 変数を変化させたときに、強制的に再描画するには、
// 下記のコメントを外し repaintメソッドを呼ぶとよい。
// repaint();
}
});

///////////////////////////////////////////////////////////////////////////
// (2)マウスの連続動作に反応する「イベントリスナー」MouseMotionListenerを登録して使う
///////////////////////////////////////////////////////////////////////////
this.addMouseMotionListener(
new MouseMotionAdapter() {
//ドラッグ時の処理

public void mouseDragged(MouseEvent e) {
//////////////////////
// マウス座標を、変数mx,myに受け取る
mx = e.getX(); // マウスX座標の取得
my = e.getY(); // マウスY座標の取得
System.out.println("(6)mouseDragged...");

//////////////////////
// マウスボタンが押されたまま移動するときに軌跡上で赤色で「(6)Dragged...」と表示する
// g.setColor(Color.red);
// g.drawString("(6)Dragged...", e.getX(), e.getY());

}

//
public void mouseMoved(MouseEvent e) {
//////////////////////
// マウス座標を、変数mx,myに受け取る
mx = e.getX(); // マウスX座標の取得
my = e.getY(); // マウスY座標の取得
System.out.println("(7)mouseMoved...");

//////////////////////
// マウスが移動するときに軌跡上で青色で「(7)Moved...」と表示する
// g.setColor(Color.blue);
// g.drawString("(7)Moved...", e.getX(), e.getY());

//////////////////////
// 変数を変化させたときに、強制的に再描画するには、
// 下記のコメントを外し repaintメソッドを呼ぶとよい。
// repaint();

/* マウスが移動するたびに、その位置に図形を描きたいので、
* repaint()を呼んで、描画を更新している。
*/
repaint();
}
});
}

// 背景として、最初に書いておきたい画像や図形は、paintメソッドで描いておきます
public void paint(Graphics g) {

// タイトルを描画
g.drawString("<<最終課題プログラム>>", 200, 20);
g.drawImage(img[0], 310, 80, this);
g.drawString("背景として、最初に書いておきたい画像や図形は、paintメソッドで描いておきます", 30, 50);

// クリックすると音が出る範囲を、色分けして見せている
// (ただし、位置の判定は、mouseClicked の部分で行っている)
g.setColor(Color.MAGENTA);
g.drawString("-- Sound Zone --", 230, 80);
g.setColor(Color.lightGray);
g.fillRect(250, 90, 50, 50);



//////////////////////////////////
///// メツガー図形の描画

// メツガー図形の描画範囲の左上の点の座標(cx,cy)
int cx = 50;
int cy = 200;

g.setColor(new Color(240, 240, 240));
g.fillRect(cx, cy, 500, 400);

g.setColor(Color.BLACK);
// 円の描画
g.drawOval(cx + 500 / 2 - (D / 2), cy + 200 - (D / 2), D, D);

// 直線群の描画
// まず、円を覆い隠す白い四角形の描画
g.setColor(Color.WHITE);
g.fillRect(cx, cy + 200 - W * N / 2, 500, W * N);
// 続いて、直線群の描画
g.setColor(Color.BLACK);
for (int i = 0; i <= N; i++) {
g.drawLine(cx, cy + 100 + i * W, cx + 500, cy + 100 + i * W);
}

///// メツガー図形の描画おわり
//////////////////////////////////



// 常に、マウスの現在位置を四角形で示すことにしている
g.setColor(Color.orange);
g.fillRoundRect(mx - 7, my - 7, 14, 14, 7, 7);

}
}

コメント(0)

mixiユーザー
ログインしてコメントしよう!

Javaの課題丸投げ 更新情報

Javaの課題丸投げのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング