2011-07-13 18 views
0

複雑なペイントを実行するカスタムJComponentがあります。これは非不透明に設定され、親の背景がペイントしない部分を通って表示されます。透明なコンポーネント上のJava効率的なオーバーレイ

マウスの後ろにマウスオーバーレイ(単純な形状)が必要です。マウスが動くたびにその下のコンポーネントを再描画する必要はありません。だから私はJComponentをバッファリングすることを考えていますが、不透明ではないため、.paint(buffer)を呼び出すことで親の背景がペイントされません。

アイデア?

ありがとうございます。

+0

これは私には少し不明です。おそらくガラスペインを使うことができますか? 「ルート・ペインの使用方法」(http://download.oracle.com/javase/tutorial/uiswing/components/rootpane.html)の「ガラス・ペイン」の項を参照してください。 – mre

答えて

1

私はJWindowを使用することができます。マウスを動かすとJWindowの表示位置が変わります。

+0

+1しかし、あなたはこれを意味していますか? http://stackoverflow.com/questions/5957241/text-mouseover-popups-over-a-swing-jtextarea/5957405#5957405 – mKorbel

+0

はい、このようなものです。 – StanislavL

2

複雑な描画を行うカスタムJComponentがあります。

おそらく、バッファリングされた画像に対して複雑なペインティングを行うことができます。コンポーネントはイメージを描画するだけなので、毎回複雑なコードを呼び出す必要はありません。画像に影響するプロパティが変更されるたびに、画像が再作成されます。

+0

+1、中間イメージ。 – mre

関連する問題