paintComponent()
メソッド内のすべてを描画しているキャンバスがあります。
paintComponent
(内のメソッドを呼び出さずに)外に描画することは可能paintComponent
ですか?
もしそうなら、どのようにこれを行うのですか?
paintComponent()
メソッド内のすべてを描画しているキャンバスがあります。
paintComponent
(内のメソッドを呼び出さずに)外に描画することは可能paintComponent
ですか?
もしそうなら、どのようにこれを行うのですか?
それはあなたが何を意味し、なぜそれが必要なのかによって異なります。たとえば、を作成し、オブジェクト、画像上にあるすべてのものを取得してから、画像を にドロップできます。BufferedImage
Graphics2D
Graphics.paint()
JLabel
しかし、あなたが何を達成しようとしているのか(あなたがやろうとしていることとは対照的に)がわからないので、その答えが述べられていない問題を解決するかどうかはわかりません.
この問題を解決する方法を見つけました。
私がしたことは、JPanel を JFrame クラスの内部クラスにすることでした。
JPanels paintComponent では、paintComponents Graphics2D オブジェクトを渡すことで、グラフィックスの更新を行う外部クラスからメソッドを呼び出すようにしました。
これにより、必要に応じて、paintComponent の「外側」をペイントできるようになりました。