Graphics/2021/ex13
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*グラフィックス基礎及び実習 2021年度 第13回 実習と宿題 [#...
#contents
//&color(#ff0000){''工事中''};
//**注意 [#notice]
**課題A,Cのための準備 [#o0bcb890]
+ Graphics チームから以下の2つのクラスファイルをダウンロ...
-- HW3Sample.class
-- HW3PaneSample.class
-- hw3pane.css
+ 以下のプログラムを作って,HW3Sample クラスの動作確認を...
#pre{{
public class Test4HW3Sample {
public static void main(String[] args){
HW3Sample p1 = new HW3Sample();
System.out.println("名前: " + p1.getName());
System.out.println("身長(cm): " + p1.getHeight());
System.out.println("体重(kg): "+p1.getWeight());
System.out.println("BMI: " + String.format("%.2f"...
System.out.println("判定: " + HW3Sample.getMessag...
System.out.println();
HW3Sample p2 = new HW3Sample("ふがよ", 234.5, 50....
System.out.println("名前: " + p2.getName());
System.out.println("身長(cm): " + p2.getHeight());
System.out.println("体重(kg): "+p2.getWeight());
System.out.println("BMI: " + String.format("%.2f"...
System.out.println("判定: " + HW3Sample.getMessag...
System.out.println();
HW3Sample.setBorder1(5.0);
HW3Sample.setBorder2(8.0);
System.out.println("判定: " + HW3Sample.getMessag...
}
}
}}
+ 以下のプログラムを作って,HW3PaneSample の動作確認をし...
#pre{{
import javafx.application.Application;
import javafx.stage.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.*;
public class G14HW3 extends Application {
@Override
public void start(Stage pstage) {
HW3PaneSample hw3pane1 = new HW3PaneSample();
HW3PaneSample hw3pane2 = new HW3PaneSample();
HBox root = new HBox(hw3pane1, hw3pane2);
root.getStyleClass().add("myPane");
Scene scene = new Scene(root);
scene.getStylesheets().add("hw3pane.css");
pstage.setScene(scene);
pstage.setTitle("G14HW3");
pstage.sizeToScene();
pstage.show();
}
public static void main(String[] args) {
launch(args);
}
}
}}
+ G14HW3 を実行してみましょう.テキストフィールドに適当な...
ちなみに,3つのクラスの関係は下図のようになってます(Samp...
&ref(https://www-tlab.math.ryukoku.ac.jp/~takataka/course...
**実習課題A 締切: 当日13:30 [#kadaiA]
&color(#00a000){''以下のことをやって,作ったソースファイ...
以下のAPI仕様を満たす HW3 クラスを作ろう
- 以前に類似のクラス(HWやHW2)を作っているが,それらとは...
- ''練習のため,HW2.java などを見ないで一から作ってみるこ...
- 動作確認のための手続きは,main メソッドに適当に書くか,...
***HW3 クラスのAPI仕様 [#gd341f70]
- ''コンストラクタ''
>
:HW3()| 名前 "ほげお",身長 170.0[cm],体重 62.0[kg]のイ...
:HW3(String n, double h, double w)| 名前 n,身長 h[cm],...
<
- ''メソッド''
>
:void setName(String n)| このインスタンスの名前を n にす...
:void setHeight(double h)| このインスタンスの身長を h に...
:void setWeight(double w)| このインスタンスの体重を w に...
:String getName()| このインスタンスの名前の値を返す.
:double getHeight()| このインスタンスの身長の値を返す.
:double getWeight()| このインスタンスの体重の値を返す.
:double calcBMI()| このインスタンスのBMIを計算して返す. ...
:static String getMessage(double bmi)| bmi が「境界値その...
:static void setBorder1(double val)| このクラスのBMIの「...
:static void setBorder2(double val)| このクラスのBMIの「...
:static double getBorder1()| このクラスのBMIの「境界値そ...
:static double getBorder2()| このクラスのBMIの「境界値そ...
<
- ''注意''
-- フィールド欄はありません.ということは...
-- BMIの「境界値その1」の初期値は 20.0,「その2」の初期値...
**実習課題B 締切: 当日16:00 [#kadaiB]
&color(#00a000){''以下のことをやって,作ったソースファイ...
*** 悪い教員に唆されて青春の無駄遣いをしてしまった先輩が...
の成果を,Graphicsチームの方で紹介してます([[Doraる?>ht...
***Step1 真っ白なキャンバス [#g9529a1f]
+ 次の内容のソースファイル DoraPane.java を作ろう.
#pre{{
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){
// 今はまだ空っぽ
}
}
}}
+ 次の内容のソースファイル G13Dora.java を作ろう.
#pre{{
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);
}
}
}}
+ G13Dora.java をコンパイルして G13Dora を実行しよう.こ...
*** Step2 Dora を描く [#n517f7d5]
draw メソッドの中身を書いて,Doraを描こう.ただし,
- ソースには,どこがどの部分を描いているのか分かるように...
- ''Dora は DoraPaneSample のものより簡略化しないこと.頭...
- ''顔の部品を描く順序に注意しよう.特に,目の部分''
*** Step3 仕上げよう [#v3a4aee7]
+ [[ex12課題BのDoraPaneSampleのAPI>../ex12#DoraPaneSample...
-- onNose メソッドは,自分の Dora の鼻の位置に合わせるよ...
-- メソッド名や変数名などは変えてはいけませんが,mEntered...
+ G12Dora で DoraPaneSample を使っているところを DoraPane...
*** Step4 提出しよう [#de6d5ee5]
提出するのは,DoraPane.java のみです.
**実習課題C 締切: 来週13:30 [#kadaiC]
&color(#00a000){''以下のことをやって,作ったソースファイ...
次のことをやりましょう.
+ HW3PaneSample と同様の動作をするプログラムを作る.クラ...
+ G14HW3 で HW3PaneSample を使っているところを HW3Pane に...
+ 完成した HW3Pane.java を提出する
次のことに注意
- サンプルのようなレイアウトは,GridPane を使えば実現でき...
-- HW3Pane は Pane のサブクラス...DoraPane と同じですね.
DoraPane の場合は,コンストラクタ中で
this.getChildren().add(canvas);
して,これ(DoraPaneのインスタンス)に canvas を載せてま...
- 身長/体重のテキストフィールドのイベント処理では,doubl...
- BMI のところは小数点以下2桁で値が表示されている.これを...
String.format("%.2f", double型の値)
とすればよい.このメソッドの戻り値は String である.
- イベント処理の際にテキストフィールドやラベルに setText ...
**宿題 [#hw]
&color(#00a000){''次回授業までに必ずやっておくこと''};
次回の授業の資料(PDFや動画)等は [[こちら>../../2021#ex1...
+ 講義資料を入手.紙でほしい方は各自で印刷してください.
>
キャンパス内各所に設置されたプリンタで印刷することもでき...
<
+ 授業動画を視聴する
>
学内の実習室等に設置の PC ではスピーカから音が出ませんの...
<
+ 講義資料・授業動画に出てくるプログラムを実際に作って実...
**実習課題S(omake) 締切: [#kadaiS]
&color(#00a000){''これはおまけ課題です.やらなくても減点...
(moodle の「おまけ課題」のところに,「自由課題」というの...
//&color(#ff0000){''工事中''};
今回出題のおまけ課題はありません.[[../ex14#kadaiS]] をど...
終了行:
*グラフィックス基礎及び実習 2021年度 第13回 実習と宿題 [#...
#contents
//&color(#ff0000){''工事中''};
//**注意 [#notice]
**課題A,Cのための準備 [#o0bcb890]
+ Graphics チームから以下の2つのクラスファイルをダウンロ...
-- HW3Sample.class
-- HW3PaneSample.class
-- hw3pane.css
+ 以下のプログラムを作って,HW3Sample クラスの動作確認を...
#pre{{
public class Test4HW3Sample {
public static void main(String[] args){
HW3Sample p1 = new HW3Sample();
System.out.println("名前: " + p1.getName());
System.out.println("身長(cm): " + p1.getHeight());
System.out.println("体重(kg): "+p1.getWeight());
System.out.println("BMI: " + String.format("%.2f"...
System.out.println("判定: " + HW3Sample.getMessag...
System.out.println();
HW3Sample p2 = new HW3Sample("ふがよ", 234.5, 50....
System.out.println("名前: " + p2.getName());
System.out.println("身長(cm): " + p2.getHeight());
System.out.println("体重(kg): "+p2.getWeight());
System.out.println("BMI: " + String.format("%.2f"...
System.out.println("判定: " + HW3Sample.getMessag...
System.out.println();
HW3Sample.setBorder1(5.0);
HW3Sample.setBorder2(8.0);
System.out.println("判定: " + HW3Sample.getMessag...
}
}
}}
+ 以下のプログラムを作って,HW3PaneSample の動作確認をし...
#pre{{
import javafx.application.Application;
import javafx.stage.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.*;
public class G14HW3 extends Application {
@Override
public void start(Stage pstage) {
HW3PaneSample hw3pane1 = new HW3PaneSample();
HW3PaneSample hw3pane2 = new HW3PaneSample();
HBox root = new HBox(hw3pane1, hw3pane2);
root.getStyleClass().add("myPane");
Scene scene = new Scene(root);
scene.getStylesheets().add("hw3pane.css");
pstage.setScene(scene);
pstage.setTitle("G14HW3");
pstage.sizeToScene();
pstage.show();
}
public static void main(String[] args) {
launch(args);
}
}
}}
+ G14HW3 を実行してみましょう.テキストフィールドに適当な...
ちなみに,3つのクラスの関係は下図のようになってます(Samp...
&ref(https://www-tlab.math.ryukoku.ac.jp/~takataka/course...
**実習課題A 締切: 当日13:30 [#kadaiA]
&color(#00a000){''以下のことをやって,作ったソースファイ...
以下のAPI仕様を満たす HW3 クラスを作ろう
- 以前に類似のクラス(HWやHW2)を作っているが,それらとは...
- ''練習のため,HW2.java などを見ないで一から作ってみるこ...
- 動作確認のための手続きは,main メソッドに適当に書くか,...
***HW3 クラスのAPI仕様 [#gd341f70]
- ''コンストラクタ''
>
:HW3()| 名前 "ほげお",身長 170.0[cm],体重 62.0[kg]のイ...
:HW3(String n, double h, double w)| 名前 n,身長 h[cm],...
<
- ''メソッド''
>
:void setName(String n)| このインスタンスの名前を n にす...
:void setHeight(double h)| このインスタンスの身長を h に...
:void setWeight(double w)| このインスタンスの体重を w に...
:String getName()| このインスタンスの名前の値を返す.
:double getHeight()| このインスタンスの身長の値を返す.
:double getWeight()| このインスタンスの体重の値を返す.
:double calcBMI()| このインスタンスのBMIを計算して返す. ...
:static String getMessage(double bmi)| bmi が「境界値その...
:static void setBorder1(double val)| このクラスのBMIの「...
:static void setBorder2(double val)| このクラスのBMIの「...
:static double getBorder1()| このクラスのBMIの「境界値そ...
:static double getBorder2()| このクラスのBMIの「境界値そ...
<
- ''注意''
-- フィールド欄はありません.ということは...
-- BMIの「境界値その1」の初期値は 20.0,「その2」の初期値...
**実習課題B 締切: 当日16:00 [#kadaiB]
&color(#00a000){''以下のことをやって,作ったソースファイ...
*** 悪い教員に唆されて青春の無駄遣いをしてしまった先輩が...
の成果を,Graphicsチームの方で紹介してます([[Doraる?>ht...
***Step1 真っ白なキャンバス [#g9529a1f]
+ 次の内容のソースファイル DoraPane.java を作ろう.
#pre{{
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){
// 今はまだ空っぽ
}
}
}}
+ 次の内容のソースファイル G13Dora.java を作ろう.
#pre{{
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);
}
}
}}
+ G13Dora.java をコンパイルして G13Dora を実行しよう.こ...
*** Step2 Dora を描く [#n517f7d5]
draw メソッドの中身を書いて,Doraを描こう.ただし,
- ソースには,どこがどの部分を描いているのか分かるように...
- ''Dora は DoraPaneSample のものより簡略化しないこと.頭...
- ''顔の部品を描く順序に注意しよう.特に,目の部分''
*** Step3 仕上げよう [#v3a4aee7]
+ [[ex12課題BのDoraPaneSampleのAPI>../ex12#DoraPaneSample...
-- onNose メソッドは,自分の Dora の鼻の位置に合わせるよ...
-- メソッド名や変数名などは変えてはいけませんが,mEntered...
+ G12Dora で DoraPaneSample を使っているところを DoraPane...
*** Step4 提出しよう [#de6d5ee5]
提出するのは,DoraPane.java のみです.
**実習課題C 締切: 来週13:30 [#kadaiC]
&color(#00a000){''以下のことをやって,作ったソースファイ...
次のことをやりましょう.
+ HW3PaneSample と同様の動作をするプログラムを作る.クラ...
+ G14HW3 で HW3PaneSample を使っているところを HW3Pane に...
+ 完成した HW3Pane.java を提出する
次のことに注意
- サンプルのようなレイアウトは,GridPane を使えば実現でき...
-- HW3Pane は Pane のサブクラス...DoraPane と同じですね.
DoraPane の場合は,コンストラクタ中で
this.getChildren().add(canvas);
して,これ(DoraPaneのインスタンス)に canvas を載せてま...
- 身長/体重のテキストフィールドのイベント処理では,doubl...
- BMI のところは小数点以下2桁で値が表示されている.これを...
String.format("%.2f", double型の値)
とすればよい.このメソッドの戻り値は String である.
- イベント処理の際にテキストフィールドやラベルに setText ...
**宿題 [#hw]
&color(#00a000){''次回授業までに必ずやっておくこと''};
次回の授業の資料(PDFや動画)等は [[こちら>../../2021#ex1...
+ 講義資料を入手.紙でほしい方は各自で印刷してください.
>
キャンパス内各所に設置されたプリンタで印刷することもでき...
<
+ 授業動画を視聴する
>
学内の実習室等に設置の PC ではスピーカから音が出ませんの...
<
+ 講義資料・授業動画に出てくるプログラムを実際に作って実...
**実習課題S(omake) 締切: [#kadaiS]
&color(#00a000){''これはおまけ課題です.やらなくても減点...
(moodle の「おまけ課題」のところに,「自由課題」というの...
//&color(#ff0000){''工事中''};
今回出題のおまけ課題はありません.[[../ex14#kadaiS]] をど...
ページ名: