前提・実現したいこと
お絵描きアプリを作成しているのですが、チェックボックスで色を指定しその色で図形を描画できるようにしたいです。
ここに質問の内容を詳しく書いてください。
知識不足で申し訳ありませんが、具体的なコードを書いていただけるとありがたいです。
該当のソースコード
ソースコード
@Override public void mousePressed(MouseEvent e) {
Checkbox c,co;
x=e.getX();
y=e.getY();
c=cbg.getSelectedCheckbox();
co=cbg_c.getSelectedCheckbox();
obj=null;
f=new Figure();
if(co==co1) { f.setPenColor(1); }else if(co==co2) { f.setPenColor(2); }else if(co==co3) { f.setPenColor(3); } if(c==c1) { mode=1; obj=new Circle(); } if(obj != null) { obj.moveto(x,y); repaint(); }
public class Figure extends Coord{
//Color currentColor=Color.red;
protected Color currentColor=new Color(0,0,0);
//Color currentColor=Color.blue;
int color;
int w,h;
Figure(){ color=0; w=h=0; } protected void setPenColor(int color) { this.color=color; //System.out.println(color); } public void paint(Graphics g) { //g.setColor(currentColor); //System.out.println(currentColor); } public void setWH(int w, int h) { this.w=w; this.h=h; }
}
public class Circle extends Figure{
Circle(){}
@Override public void paint(Graphics g) {
if(color==1) {
g.setColor(Color.red);
}
System.out.println(color);
int r = (int)Math.sqrt((double)(w * w + h * h));
g.drawOval(x - r, y - r, r * 2 , r * 2);
}
}
試したこと
サブクラスが欲しい値がローカル変数のためアクセスできないため色々やってみましたが駄目でした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー