- - PR -
始めまして、初心の者です、
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-03-28 12:00
1 JPanelをマウスでクリック(点A)
2 マウスを移動すると点Bが動き、そのつど線分ABが描画される 3 再びクリックし線を固定 というのをやりたいのですが、2 がうまくいきません BufferedImage img = null; BufferedImage jimg = null; public void mouseMoved( MouseEvent e ) { jimg = img; RepaintManager.currentManager(this).setDoubleBufferingEnabled(true); setOpaque(true); p2.setLocation((double)e.getX(),(double)e.getY()); if(jimg == null){ Dimension d = this.getSize(); int w = d.width; int h = d.height; jimg = (BufferedImage)c1.createImage(w,h);} Graphics2D img2d = (Graphics2D)jimg.createGraphics(); img2d.setStroke(new BasicStroke(1.0F,BasicStroke.CAP_ROUND ,BasicStroke.JOIN_ROUND)); img2d.setPaint(Color.black); if(!p1.equals(p2)){ line.setLine(p1,p2); img2d.draw(line); p1.setLocation(p2);} moved = true; img2d.dispose(); repaint(); } public void mouseClicked( MouseEvent e ) { if(sen){ p1.setLocation((double)e.getX(),(double)e.getY()); jimg = img; sen = false;} else{ p2.setLocation((double)e.getX(),(double)e.getY()); if(img == null){ Dimension d = this.getSize(); int w = d.width; int h = d.height; img = (BufferedImage)c1.createImage(w,h);} Graphics2D img2d = (Graphics2D)img.createGraphics(); img2d.setStroke(new BasicStroke(jwidth ,BasicStroke.CAP_ROUND ,BasicStroke.JOIN_ROUND)); img2d.setPaint(pencolor); if(flag){ img2d.drawImage(img,0,0,null); flag = false;} if(!p1.equals(p2)){ line.setLine(p1,p2); img2d.draw(line); p1.setLocation(p2);} img2d.dispose(); repaint(); sen = true; mov = false;}} } って言う風にやっているのですが直線が描かれません どのようにすればいいのでしょうか お願いします |
|
投稿日時: 2006-03-28 12:50
あえてストレートな返答をしません。
まず、マウスとは関係なしに「JPanelに直線(位置は固定)を描画する」ことを実現しましょう。 それから、座標をマウスで変更できるように書き換えましょう。 ちなみに、このプログラムを書くのに何か参考にした書籍かwebサイトはありますか ? 差し支えなければ紹介してください。 # ダメ書籍/サイトのおそれがあります。 |
|
投稿日時: 2006-03-28 14:54
まずは、HNを変更しましょう。
端っから逃げ腰でいいわけを吐いているようでは、身に付くものも身に付きませんよ。 びしばしさんが書かれているとおりですが、 プログラミングは、 1.動くものを作る 2.動くものをいじくって、動くものを作る の繰り返しだけです。 これだけは、ベテランも初心者も同じだと思うんですけどねえ。 いや、ごくたまにすごい人もいることはいますよ。でも、そんな人外は参考にならないし。 |
|
投稿日時: 2006-03-28 20:10
ありがとうございます
直線は描けるのですが、線がマウスについて来ないのです 参考にしたページは http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=23176&forum=12&7です もっと自力で考えて、あれこれいじくってみます |
|
投稿日時: 2006-03-28 22:07
[ CODE ] [/ CODE ]
でくくっていただくとプログラムが読みやすいので助かるのですが。 後,適度に何処で何をしてて何処でうまくいってないのか コメントも欲しいです。 |
|
投稿日時: 2006-03-29 00:24
あれこれいじくった結果うまくいきました
自分のコードには無駄な、変なところが多々あったようです みなさん、レスありがとうございました |
1