アプリ版:「スタンプのみでお礼する」機能のリリースについて

http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/im …

これをコンパイルしようとすると終盤でシンボルFigureTypeが見つけられないとでてしまいます
どこを修正・追加すればコンパイル可能になるでしょうか
追加部分の詳細な場所とソースも書いてくださると嬉しいです

A 回答 (3件)

> Lineも他の図形と同様に


> クリックした箇所を始点にドラッグしてクリックはなした場所まで
> のラインになるようにするにはどこを変えればよいでしょうか?
すでにご自分でおやりになったかもしれませんが、Lineのreshape()メソッドの中を次のように書き換えます。なお、weightとかheightの変数名も、Lineに関しては変えないとおかしいですね。
-------------------------------------
 public void reshape(int x1,int y1,int x2,int y2) {
/*
  x = Math.min(x1, x2);
  y = Math.min(y1, y2);
  width = Math.abs(x1 - x2);
  height = Math.abs(y1 - y2);
*/
  x = x1;
  y = y1;
  width = x2;
  height = y2;
 }
------------------------------------
    • good
    • 0

補記:


以下は、createFigure()メソッドのデバッグ結果です。LineFigureについては、なんかへんだなーと思いつつ、要求がよく分からないのでそのままにしてあります(reshape()も、Lineのはへんだけど…)。
---------------------------------------
 public void createFigure(int x,int y) {
  Figure f;

  switch(f_type){
   case FigureType.RECTANGLE:
    f = new RectangleFigure(x, y, 0, 0, currentColor);
    break;
   case FigureType.OVAL:
    f = new OvalFigure(x, y, 0, 0, currentColor);
    break;
   case FigureType.LINE:
    f = new LineFigure(x, y, x, y, currentColor);
    break;
   case FigureType.FILLRECT:
    f = new FillRectFigure(x, y, 0, 0, currentColor);
    break;
   default:
    f = new RectangleFigure(x, y, 0, 0, currentColor);
    break;
  }
  figures.addElement(f);
  drawingFigure = f;
  drawPanel.repaint();
 }
------------------------------
    • good
    • 0

FigureTypeはほかのクラスの内部クラスなので、そのクラス名で修飾するか、またはFigureTypeを外に出して独立のクラスにしてください。



でも、こんな簡単な定数集は、
static enum FigureType{RECTANGLE, OVAL, LINE, FILLRECT};
で十分でしょうね。
    • good
    • 0
この回答へのお礼

ありがとうございました
言われましたとおりに独立にしましたらコンパイルできました

そしてコンパイルしたのはいいのですが
Lineだけ挙動がおかしくなっていました
Lineも他の図形と同様に
クリックした箇所を始点にドラッグしてクリックはなした場所までのラインになるようにするにはどこを変えればよいでしょうか?

変な箇所を中心に線が動くようになってしまいました

お礼日時:2008/05/18 15:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!