忍者ブログ

からすまる日誌 java

応用2(11) 自動で説明文を作る

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

応用2(11) 自動で説明文を作る

ところでさっきのCalcLogicにコメント付け加えますよ
 
 /**
 整数a,bを加算する
 */
 
最初のアスタリスクは2つで。
コマンドプロンプトでjavadoc
>javadoc CalcLogic.java
 
すると、フォルダにhtmlが作られる。
allpackages-index.html
 
自動で説明文を作ってくれるらしいのだ。
 

イベントを使ったプログラムを作る
1月真ん中ぐらいまでに提出。今日でもよろしい。
 
プログラムは数をこなすのが大事
本を写すのは理解するだけ
スキルアップは「自分で考えて」作るのがよろしい
 
プリント全部やってから課題してもいいし
好きにしていい
 


実習の各問題解説
 
実習問題30
void 返り値なし
void setText(String text)
 
getTextは戻り値があるよ
String getText()
 

実習問題31
3つ縦に並んでいる部分はvboxを使う
その部分をtopにのせる
 

実習問題32
setOnMouseMovedがきも。
前の残像を消したいからクリアしといて、
座標をもらって
マウスのある場所にその画像を表示するというロジック
 

実習問題33
32の亜種。クリックしたらそこに画像がという変更。
 

実習問題34
setOnMousePressed おしたときの座標を取得し
setOnMouseDragged マウスドラッグしたとき線を書く
線を書いていくサンプル
 

実習問題35
34のチャレンジ問題
この35をイベント課題として作ってもよろしい
最終課題のA じゃんけん
最終課題のB BMIを割り出す
 


さっきの練習6-3ですが、
java.lang.Thread
の指定が分からなかったでしょう
 
ページまではいけるようになった
 
ただしここには例文がない
 
みるのはここ
→メソッドのサマリー
→すべてのメソッド
→sleep
 
もうひとつ重要なこと。
クラス.メソッド()と基本的になんでも綴るということを覚えなさい。
クラス、ドット、メソッドという基本形に当てはめるようにこの部分をよむのだ
 

 
①教科書にはすでに「java.lang.Threadクラスを調べ」とある。つまりThreadはクラスである。(前半部分解決)
②「すべてのメソッド」というのは後半部分のドットの後の箇所である。ここの説明を読んで、なにかしらプログラムを停止する内容が書いてあるものをさがせ
voidとかstatic voidというのはとりあえず関係ないとして、右側をみるのだ
④sleep(long millis)というメソッドがある。これで前半部分と後半部分が判明した
Thread.sleep();
⑤問題はlong millisが何かということである。このメソッドをクリックするとこのようにある
 
>システム・タイマーとスケジューラが正確であることを前提として、現在実行中のスレッドを、指定されたミリ秒数の間、スリープ(一時的に実行を停止)させます。スレッドはモニターの所有権を失いません。
 
「指定された」というのは、引数の意味。つまり括弧の中が「ミリ秒数」であると推測できる。
 
⑥全部を総合すると、
『クラス.メソッド()に何を当てはめるか』
Thread.sleep(3000);
 
ということなんですねー
あと5回ぐらい見なさい
 

--->Exe32.java
 
package application;
import javafx. application.Application;
import javafx.scene.Group;
import javafx. scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.image.Image;
import javafx.scene.paint.Color;
import javafx. stage.Stage;
public class EXE32 extends Application {
 public static void main(String[] args) {
   launch(args);
 }
 @Override
 public void start(Stage myStage) {
  Canvas canvas = new Canvas(300,300);
  GraphicsContext gc = canvas.getGraphicsContext2D();
  Image myImg1 = new Image("kobito1.gif");
  canvas.setOnMouseMoved(e ->{
   gc.clearRect(0, 0, canvas.getWidth(), canvas.getHeight());;
   gc.drawImage(myImg1, e.getX(), e.getY());
  });
  Group root = new Group();
  root.getChildren().add(canvas);
  Scene scene = new Scene(root, 300, 300, Color.LIGHTGRAY);
  myStage.setTitle("Exe32");
  myStage.setScene(scene);
  myStage.show();
 }
}
 

 
--->Exe33.java
 
package application;
import javafx. application.Application;
import javafx.scene.Group;
import javafx. scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.image.Image;
import javafx.scene.paint.Color;
import javafx. stage.Stage;
public class EXE33 extends Application {
 public static void main(String[] args) {
   launch(args);
 }
 @Override
 public void start(Stage myStage) {
  Canvas canvas = new Canvas(300,300);
  GraphicsContext gc = canvas.getGraphicsContext2D();
  Image myImg1 = new Image("kobito1.gif");
  canvas.setOnMouseClicked(e ->{
   gc.clearRect(0, 0, canvas.getWidth(), canvas.getHeight());;
   gc.drawImage(myImg1, e.getX(), e.getY());
  });
  Group root = new Group();
  root.getChildren().add(canvas);
  Scene scene = new Scene(root, 300, 300, Color.LIGHTGRAY);
  myStage.setTitle("Exe32");
  myStage.setScene(scene);
  myStage.show();
 }
}
PR

コメント

ブログ内検索

P R