- PR -

画像の上に線を描画する

1
投稿者投稿内容
104
会議室デビュー日: 2004/01/21
投稿数: 17
投稿日時: 2004-03-09 15:55
こんにちわ104と申します

Swingで画像の上に線を描画したいのですが
どのようにおこなってよいかわかりません。

現在はJLabelの上にgifの画像を文字を表示
しています。
その上にクリックされたら線をかきたいのですが
paintComponentにグラフィック2のドローメソッド
を仕様して線を描画すると画像がなくなり線は表示
されるというふうになってしまいます。
今考えてるのが画像の上に画像を貼り付けるような方法なのです
これもよくわかってません

どなたかわかる方いらっしゃいましたらご教授お願います。
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2004-03-09 18:43
元の画像も、JComponent#paintComponent()で描画しています。
したがって、このメソッドをoverrideすれば、元の画像が表示されなくなるのは当然です。

この場合、
コード:
protected void paintComponent(Graphics g) {
    super.paintComponent(g)

    // 線を引く
}


として、先に、画像を描画し、その上に線を描けば両方とも表示されるはずです。
(描画した画像を、消去していなければ)
104
会議室デビュー日: 2004/01/21
投稿数: 17
投稿日時: 2004-04-09 18:25
かずくさん
ありがとうございます

一応できたのですが、また1つ問題点ができてしまいました
そのラヴェルを貼り付けてるフレームもしくは、別にウインドを
呼び出しても背景がグレイみたいになってしまいます。

現在調査中ですが、repaintを呼ぶタイミングで
SwingUtilities.updateComponentTreeUI(frame);を
読んでやると時間がかかってもグレイ表示から表示が正常になります
これだとGUI回復までに時間がかかりすぎてしまって・・

どなたかご存知の方いらっしゃいましたらご教授お願いします
1

スキルアップ/キャリアアップ(JOB@IT)