前提・実現したいこと
三角形を描写出来る仕組みを考えてみたのですが、「fillpolygonである場合、double[],double[],intでなければならない」がでました。
実際に、「gc.fillPolygon(y1,x1,y1-y2,x2-x1,y1-y2,x2+x1,3);」と書いたのですが、この場合正しい書き方は何なのでしょうか・・・?
また、xとyはその場の位置を示すもので、書き始めと書き終わりの場所でもあります。
発生している問題・エラーメッセージ
fillPolygonの三角形の描写を考えてみたのですが、「fillpolygonである場合、double[],double[],intでなければならない」といったエラーメッセージが出ました。
該当のソースコード
javafx
1package kadai; 2 3import java.io.Serializable; 4 5import javafx.scene.canvas.GraphicsContext; 6import javafx.scene.paint.Color; 7 8abstract class Shape implements Serializable{ 9 static final int RECT = 0; 10 static final int OVAL = 1; 11 static final int LINE = 2; 12 static final int TRI = 3; 13 14 double x1,y1,x2,y2; 15 int n1; 16 double r,g,b; 17 18 abstract public void draw(GraphicsContext gc); 19 20 public void setColor(double r,double g,double b) { 21 this.r = r; 22 this.g = g; 23 this.b = b; 24 } 25//書き始め 26 public void setStartPoint(double x,double y) { 27 x1 = x; 28 y1 = y; 29 } 30//書き終わり 31 public void setEndPoint(double x,double y) { 32 x2 = x; 33 y2 = y; 34 } 35} 36class Rect extends Shape implements Serializable{ 37 public void draw(GraphicsContext gc) { 38 gc.setFill(Color.color(r,g,b)); 39 gc.fillRect(x1, y1, x2-x1, y2-y1); 40 } 41} 42class Oval extends Shape implements Serializable{ 43 public void draw(GraphicsContext gc) { 44 gc.setFill(Color.color(r,g,b)); 45 gc.fillOval(x1, y1, x2-x1, y2-y1); 46 } 47} 48class Line extends Shape implements Serializable{ 49 public void draw(GraphicsContext gc) { 50 gc.setStroke(Color.color(r,g,b)); 51 gc.strokeLine(x1, y1, x2, y2); 52 } 53} 54class Trian extends Shape implements Serializable{ 55 public void draw(GraphicsContext gc) { 56 gc.setFill(Color.color(r,g,b)); 57 gc.fillPolygon(y1,x1,y2-y1,x2-x1,y2-y1,x3+x1,3); 58 59 } 60}
試したこと
三角形の位置関係を考えてみました
https://teratail.com/questions/319352
での質問を基に改めて考えました
補足情報(FW/ツールのバージョンなど)
jdk14
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。