このプロセスでのJPanel
を呼び出さずに、に垂直線を描画し、その上を滑らせたいと思います。私は使用することを考えましたが、フレームにを含む他のコンポーネントがあるため、それは正しい方法ではないと思います。したがって、それはそれに固有ではありません(そして実際にそれが呼び出されないかどうかはわかりませんとにかく)。paintComponent()
JPanel
GlassPane
JPanel
paintComponent()
何か案は?
このプロセスでのJPanel
を呼び出さずに、に垂直線を描画し、その上を滑らせたいと思います。私は使用することを考えましたが、フレームにを含む他のコンポーネントがあるため、それは正しい方法ではないと思います。したがって、それはそれに固有ではありません(そして実際にそれが呼び出されないかどうかはわかりませんとにかく)。paintComponent()
JPanel
GlassPane
JPanel
paintComponent()
何か案は?
GlassPaneを使用しても、基礎となるコンポーネントはある時点で再ペイントする必要があります。paintComponent
JPanelへの電話を避ける良い方法はありません。
paintComponent
ただし、JPanelは塗装以外のことをしてはいけません。それを呼び出さないようにしている場合は、メソッドに何かをpaintComponent
変更またはキャッシュする必要があるようです。
ラインペイントコードを残りのペイントコードから分離したいだけの場合は、レイヤードペインを使用する必要があります。
ペイントコードが高価な場合は、BufferedImageを作成してから、paintComponent()コードでイメージを再描画する必要があります。これは、毎回最初から塗り直すよりも高速です。
JPanelでpaintComponent()メソッドを呼び出さない理由はありますか?オブジェクトを塗り直して線を滑らせてレンダリングするのが、おそらく最も簡単な解決策です。