忍者ブログ

からすまる日誌

20200120 java課題で提出したやつのコード

×

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

20200120 java課題で提出したやつのコード

いちおうあげておきます。
 
--->kadai_EXE28.java
 
package application;
import javafx. application.Application;
import javafx.event.ActionEvent;
import javafx.geometry.Pos;
import javafx. scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx. stage.Stage;
public class kadai_EXE28 extends Application {
 Image[] myImage = new Image[5];//配列で画像をランダム決定
 int boxX = 50;//画像を表示させるときの枠のサイズ 初期値50
 int boxY = 50;
 int setY = 10;//画像初期表示位置
 int cnt = 0;//ボタンを押した回数
 int last_ran;//最後に出たランダムの数を格納する
 public static void main(String[] args) {
   launch(args);
 }
 @Override
 public void start(Stage myStage) {
  Canvas canvas = new Canvas(300,240);
  GraphicsContext gc = canvas.getGraphicsContext2D();
  //画像に関して
  myImage[0] = new Image("tako.png");
  myImage[1] = new Image("oosan.png");
  myImage[2] = new Image("human.png");
  myImage[3] = new Image("panda.png");
  myImage[4] = new Image("abura.png");
  //ボタンに関して//
  Button btn01 = new Button("このボタンを5回押す");
  Button btn02 = new Button("画像を消す");
  Label l1 = new Label(" ");//はじめはからっぽ
  Label l2 = new Label(" ");
  BorderPane pane = new BorderPane();
  pane.setStyle("-fx-background-color:white;");
  HBox hbox = new HBox();
  hbox.getChildren().addAll(btn01);//,btn02);
  VBox vbox = new VBox();
  vbox.getChildren().addAll(l1,l2,btn02);//まずここでVboxのpaneを作っていれる
  btn01.setAlignment(Pos.CENTER);
  hbox.setAlignment(Pos.CENTER);
  vbox.setAlignment(Pos.CENTER);
  pane.setTop(hbox);
  pane.setBottom(vbox);
  pane.setCenter(canvas);
  //関数
  btn01.setOnAction((ActionEvent event)->{
   if(cnt<5) {//5回押してないとき
    int ran = (int)(Math.random()*5);//ランダム
    System.out.println("ran is"+ran);
    gc.drawImage(myImage[ran], 10, setY, boxX, boxY);
    boxX *= 1.65;
    boxY *= 1.65;
    setY += -2;
    cnt ++;
    last_ran = ran;//ランダムの数を格納
    System.out.println("cnt is"+cnt);
   }
   if(cnt==5) {//5回押したときにメッセージを出す
    if(last_ran==0) {
     l1.setText("あなたの今日のラッキーいきものはタコ!");
     l2.setText("賢いコーティングを心がけるといいでしょう");
    }else if(last_ran==1) {
     l1.setText("あなたの今日のラッキーいきものはオオサンショウウオ!");
     l2.setText("水気のあるコーティングを心がけるといいでしょう");
    }else if(last_ran==2) {
     l1.setText("あなたの今日のラッキーいきものは人間!");
     l2.setText("人間味のあるコメントを入れるといいでしょう");
    }else if(last_ran==3) {
     l1.setText("あなたの今日のラッキーいきものはパンダ!");
     l2.setText("白黒はっきりしたデザインを組んでみるといいでしょう");
    }else if(last_ran==4) {
     l1.setText("あなたの今日のラッキーいきものはアブラボウズ!");
     l2.setText("おいしいご飯をたべて元気を出しましょう");
    }
   }
  });
  btn02.setOnAction((ActionEvent event)->{
   //System.out.println("here is in clear");
   gc.clearRect(0, 0, 500, 500);
   boxX = 50;//初期値に戻す
   boxY = 50;
   setY = 10;
   cnt = 0;
   l1.setText("");
   l2.setText("");
   System.out.println("cnt is"+cnt);
  });
  Scene scene = new Scene(pane,300,350);
  myStage.setTitle("Exe28 今日の占い");
  myStage.setScene(scene);
  myStage.show();
 }
}
 
PR

コメント

ブログ内検索

カレンダー

03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30