プロジェクトで問題が発生しています。
したがって、基本的に私が持っているのは、いくつかのサブクラス( ShapeRectangle、ShapeTriangle など)を持つクラス Shape です。各サブクラスで、outputShape メソッドを取得しました: g.fillRect(getX(), getY(), getWidth(), getHeight());
別のクラス showShapes で、サブクラスを含む配列を取得しました。
配列を介してメソッドを実行したいと思います。
それを行う方法はありますか?
編集: showShapes の配列は Shape[] 配列です。
これが ShapeRect のコードです (申し訳ありませんが、ビットはフランス語です): import java.awt.Color; java.awt.Graphics をインポートします。
public class FormeRectangulaire extends Forme {
public FormeRectangulaire(int x, int y, int width, int height){
setX(x);
setY(y);
setWidth(width);
setHeight(height);
setColor(Color.RED);
}
public void afficherForme(Graphics g){
g.setColor(getColor());
g.fillRect(getX(), getY(), getWidth(), getHeight());
}
}
形状は次のとおりです。java.awt.Graphics をインポートします。
public class Forme {
private int x;
private int y;
private int width;
private int height;
private Color color;
/*public void afficherForme(Graphics g){
afficherForme(g);
}*/
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public Color getColor(){
return color;
}
public void setColor(Color color){
this.color = color;
}
public int getWidth() {
return width;
}
public void setWidth(int width) {
this.width = width;
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
}
各クラスを配列内に配置する方法は次のとおりです。
public void creerArrayFormes(){
String[][] donnes = getDatas();
if(donnes[getDatasElement()][0].equals("CARRE") || donnes[getDatasElement()][0].equals("RECTANGLE")){
FormeRectangulaire rect = new FormeRectangulaire(Integer.parseInt(donnes[getDatasElement()][1]),Integer.parseInt(donnes[getDatasElement()][2]),Integer.parseInt(donnes[getDatasElement()][3]),Integer.parseInt(donnes[getDatasElement()][4]));
setFormes(rect, getDatasElement());
}
}