忍者ブログ

からすまる日誌

20200107自習 できた

×

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

20200107自習 できた

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.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.paint.Color;
import javafx. stage.Stage;
public class EXE3501
extends Application {
 double posX,posY;
 int hoge;//線の太さ //here? Yes,here
 public static void main(String[] args) {
   launch(args);
 }
 @Override
 public void start(Stage myStage) {
  Canvas canvas = new Canvas(500,500);
  GraphicsContext gc = canvas.getGraphicsContext2D();
  int Futo=1;
  canvas.setOnMousePressed(e -> {
   posX = e.getX();
   posY = e.getY();
  });
  canvas.setOnMouseDragged(e -> {
   gc.strokeLine(posX,posY,e.getX(),e.getY());
   posX = e.getX();
   posY = e.getY();
  });
  //-------------------
  //ボタン群
  //-------------------
  Button clearB = new Button("クリア");//clearBという変数にボタン
  clearB.setOnAction((ActionEvent event)->{
   gc.clearRect(0,0,canvas.getWidth(),canvas.getHeight());
  });
  Button drawB = new Button("black");
  drawB.setOnAction((ActionEvent event)->{
   gc.setStroke(Color.BLACK);
   //gc.clearRect(0,0,canvas.getWidth(),canvas.getHeight());
  });
  Button drawR = new Button("red");
  drawR.setOnAction((ActionEvent event)->{
   gc.setStroke(Color.RED);
   //gc.clearRect(0,0,canvas.getWidth(),canvas.getHeight());
  });
  Button drawG = new Button("green");
  drawG.setOnAction((ActionEvent event)->{
   gc.setStroke(Color.GREEN);
  });
  Button drawBlue = new Button("blue");
  drawBlue.setOnAction((ActionEvent event)->{
   gc.setStroke(Color.BLUE);
  });
  Button drawOrange = new Button("orange");
  drawOrange.setOnAction((ActionEvent event)->{
   gc.setStroke(Color.ORANGE);
  });
  Button transLine = new Button("太");
  hoge=getLineWidth();
  transLine.setOnAction((ActionEvent event)->{
   hoge = hoge+2;
   gc.setLineWidth(hoge);
   //System.out.println("hoge is"+ hoge);
  });
  Button transLine2 = new Button("細");
  hoge=getLineWidth();
  transLine2.setOnAction((ActionEvent event)->{
   if(hoge>=3) {
    hoge = hoge-2;
   }else {
    hoge=1;//線の太さを1より小さくしない
   }
   gc.setLineWidth(hoge);
  });
  //-------------------
  //ボタンに色を付ける
  //-------------------
  drawB.setStyle("-fx-background-color:black; -fx-text-fill:white;");
  drawR.setStyle("-fx-background-color:red; -fx-text-fill:white;");
  drawG.setStyle("-fx-background-color:green; -fx-text-fill:white;");
  drawBlue.setStyle("-fx-background-color:blue; -fx-text-fill:white;");
  drawOrange.setStyle("-fx-background-color:orange; -fx-text-fill:white;");
  //-------------------
  //pane
  //-------------------
  BorderPane pane = new BorderPane();
  HBox hbox = new HBox(8);
  hbox.getChildren().addAll(clearB,drawB,drawR, drawG,drawBlue,drawOrange,transLine,transLine2);
  hbox.setAlignment(Pos.CENTER);
  pane.setStyle("-fx-background-color:lightgray;");
  pane.setBottom(hbox);
  pane.setCenter(canvas);
  Scene scene = new Scene(pane,500,550,Color.LIGHTGRAY);
  myStage.setTitle("drawing");
  myStage.setScene(scene);
  myStage.show();
 }
 private int getLineWidth() {
  return 0;
 }
}
 
これで通った
ここで宣言すると成功する
なぜだ
PR

コメント

ブログ内検索

カレンダー

04 2025/05 06
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 31