1
コードは画像のグラフィックにコンポーネントをペイントしますが、グラフィックのサイズに合わせるのではなく、変換します。画像をスクリーンそのものよりも大きなグラフィックに塗りつぶし
int ratio = 2;
Image screenshotImage = Image.createImage(getWidth()* ratio,getHeight()* ratio);
c.revalidate();
c.setVisible(true);
c.paintComponent(screenshotImage.getGraphics(), true);
コンテンツの一部が切り捨てられるため、画像を使用することはできません。 コンポーネントは、指定されたサイズの画像グラフィックスにペイントすることができます。
感謝
setShouldLayoutは保護されているので、オーバーライドして新しいコンテナクラスを作成し、メソッドを追加するとすべてのコードが作成されます。動作しませんでした。 – Goran
Yehaコピーして貼り付け、幅/高さを0に設定しました。これで修正されました。 –
- 画像上にコンポーネントを塗りつぶしますが、画面のみをクリップすることができます - すべて取得できますか? – Goran