提出期限: 0703金 18:30
Graphics20XYフォルダ/ディレクトリで作業しているひとと,gr2020 プロジェクトで作業してるひと,それぞれでやるべきことが違います.
Graphics2020フォルダ/ディレクトリで作業してるひとは
DoraPaneSample.class G12DoraSample.class
上記リンク先の2つクラスファイルをダウンロードして Graphics2020 に置き,G12DoraSample を実行してみなさい.
gr2020プロジェクトで作業してるひとは G12DoraSample.jar
上記 jar ファイルをダウンロードして gr2020/lib に置き,実行してみなさい. jar ファイルの実行の仕方については,Graphics/2020/ex12#kadaiA を参考に
G12DoraSample の動作をよく観察しよう
これはいったい誰でしょう? (1) ドラエモン (2) トラえもん (3) ドラ之もん (4) どらえもん (5) どらエモソ
G12DoraSample と同じことをするクラス G12Dora を作ろう(ver.1)
まずは,以下をそのまま作って動かしてみよう. このプログラムは,DoraPaneSample クラスを利用している. DoraPaneSample クラスは後述のように Pane のサブクラスであり,Label や Button といったオブジェクトと同様のGUIコンポーネントとして扱える.
import javafx.application.Application;
import javafx.stage.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.*;
//import javafx.event.*;
public class G12Dora extends Application {
@Override
public void start(Stage pstage) {
DoraPaneSample dora = new DoraPaneSample();
Label label = new Label();
BorderPane root = new BorderPane();
root.setCenter(dora);
root.setBottom(label);
Scene scene = new Scene(root);
pstage.setScene(scene);
pstage.setTitle("G12Dora");
pstage.sizeToScene();
pstage.show();
}
public static void main(String[] args) {
launch(args);
}
}
G12DoraSample と同じことをするクラス G12Dora を作ろう(ver.2)
G12Dora を修正して,G12DoraSample と同じ動作をさせよう. 以下に示す DoraPaneSample クラスのAPI仕様 を参考にすればよい. ただし,このAPI仕様に示されたすべての項目を使用すること.
ヒント:
if (ほげ.onNose(X, Y)) ...
提出しよう
完成した G12Dora.java をこの科目の Moodle コース上の当該の場所へ提出してください.このファイルは締切後に半自動的に処理します.コンパイルエラーになる,ファイル名が違う,といったことのないように注意すること.ファイル名の間違い(大文字小文字も)に注意.
javafx.scene.layout.Pane のサブクラス
- DoraPaneSample()
- 「Dora」が描かれた Pane のインスタンスを生成.大きさは300x300.背景は白色.
- boolean onNose(double x, double y)
- 座標 (x, y) が「Dora」の鼻の領域内(注)だったら true, さもなくば false.
- String mEntered
- "ぼくどらちゃん"
- String mClicked
- "どらやき食べたい"
- String mOnNose
- "いたい!いたい!"
- String mExited
- "ばいばい"
注: DoraPaneSampleでは,鼻の領域は (150, 150) を中心とする半径15の円とその内部.
提出期限: 0710金 4講時開始後少し経ったら(正確な時間は近日中にお知らせします)
→ 提出期限: 0710金 15:50
import javafx.scene.layout.*;
import javafx.scene.canvas.*;
import javafx.scene.paint.*;
public class DoraPane extends Pane{
public DoraPane(){
Canvas canvas = new Canvas(300, 300);
this.getChildren().add(canvas);
this.setStyle("-fx-background-color: white;");
this.draw(canvas);
}
private void draw(Canvas c){
// 今はまだ空っぽ
}
}
import javafx.application.Application;
import javafx.stage.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.*;
public class G13Dora extends Application {
@Override
public void start(Stage pstage) {
DoraPane dora = new DoraPane();
BorderPane root = new BorderPane();
root.setCenter(dora);
Scene scene = new Scene(root);
pstage.setScene(scene);
pstage.setTitle("G13Dora");
pstage.sizeToScene();
pstage.show();
}
public static void main(String[] args) {
launch(args);
}
}
完成した DoraPane.java (のみ)をこの科目の Moodle コース上の当該の場所へ提出してください.このファイルは締切後に半自動的に処理します.コンパイルエラーになる,ファイル名が違う,といったことのないように注意すること.ファイル名の間違い(大文字小文字も)に注意.
の成果を見ます?
期限: 0710金23:59.これはおまけ課題です.やらなくても減点になりません.やったら加点かも
上記リンク先の jar ファイルをダウンロードして,実行してみよう. これと同じ動作をするプログラムを作ろう.次のように考えたらよい.