0

int sizeとで変更する必要があるため、サイズの円を描画する必要があるこの paintComponent がsetSmallCircle()ありsetBigCircle()ます。しかし、私はJavaに非常に慣れていないため、これを行う方法がわかりません

これまでのところ、私はこれを持っています:

public class ReactionPanel extends JPanel {

boolean setSmallCircle= false;
Color color = new Color (255,0,0); //color  = red
Color c = new Color (255,255,0); //color = yellow
int size;
int x = 250;
int y = x;

public void paintComponent(Graphics g){
  super.paintComponent(g);
  if (setSmallCircle == true){
    setSmallCircle(g);
  }
  else if(setSmallCircle==true){
    setBigCircle(g);
  }
}

void setSmallCircle(Graphics g, Color c){
  size = 50;
  g.setColor(c);
  g.drawOval(x,y,size,size);
  g.fillOval(x,y,size,size);
}

void setBigCircle(Graphics g, Color c){
  size = 150;
  g.setColor(c);
  g.drawOval(x,y,size,size);
  g.fillOval(x,y,size,size);
}
}

しかし、それはコンパイルされていないようです。(エラー: setBigCircle(java.awt.Graphics,java.awt.Color) in ReactionExperiment.ReactionPanel cannot be applied to (java.awt.Graphics)) 何が間違っていますか? どうすれば修正できますか?

ああ、私も repaint を呼び出さなければなりません。クラス ReactionPanel または他の場所の閉じブレースの前にこれを行いますか?

ご協力いただきありがとうございます!

4

2 に答える 2