別の質問で示されたprintComponent
を使っています。 JPanel
を印刷する場合は、JPanel
を最初にJFrame
に追加して、JFrame
を画面に描画すると効果的です。しかし、私が印刷する前にそれをしないと、空白のページが印刷されます。どうしてこれなの?最初にコンポーネントを画面に描画しなくても、printComponentを使用できますか?
1
A
答えて
0
これは、描画するパネルの初期サイズが0,0であるためです。レイアウトマネージャを持つコンテナに追加されて表示されると、「通常」のサイズになります。
+0
これを設定する方法はありますか?私はパネルにpreferredsizeを与えようとしましたが、その作業はありませんでした。 –
+0
try setSize(int width、int height)です。 Javaがまだコンポーネントを描画しないかもしれないので、これがうまくいくかどうかはわかりませんが、試してみてください。 –
3
私は、フレームに表示されていないパネル上のBufferedImageを作成するには、次のようなコードを使用しました:、uはグラフィックオブジェクトに描画何を意味
JPanel panel = new JPanel();
... // add components
panel.setSize(300, 300);
panel.doLayout();
関連する問題
- 1. 画面にテキストを描く
- 2. フォームなしで画面に描画
- 3. 最初に描画しないボタン
- 4. どのように画面に描画できますか?
- 5. NSBezierPathを使用した高速描画少なくとも4000セグメントの描画
- 6. JFrameで最も簡単に画像を描画できますか?
- 7. GTKまたはGDKを使用して直接画面に描画
- 8. キャンバス上にテキストを描画し、画面
- 9. ボタンをいくつかの画面の最初に戻す
- 10. 数字/グラフィックを画面に直接描画しますか?
- 11. 何百万ものセグメントを画面上に描画する
- 12. matplotlib APIを使って画面にプロットを描く
- 13. OpenGL黒画面/何も描画されていない?
- 14. BitBltを使用して画面から画面に書き込む
- 15. invalidateSelf()を使用してタイマによって描画可能な描画を再描画する
- 16. XNA SpriteBatchを使用した画面の描画
- 17. Gtk +でCairoを使用して画面外の描画を行う方法は?
- 18. QNXStageWebView - drawViewPortToBitmapData()は常に白い画面を描画します
- 19. フレックスアプリケーションで不快な画面が再描画されますか?
- 20. glDrawElementsを使用しても.objファイルが描画されない
- 21. ブラックベリーの最初の画面に移動
- 22. 画面のDCC++に描画した後に強制描画する
- 23. 画面に描画するには、サーフェスビューが必要ですか?
- 24. JScrollPane描画コンポーネントそのもの
- 25. 描画に最適なコントロール
- 26. DataTables:最初にテーブルを描画し、サーバー側からデータを入力します
- 27. グリッドセルにコンポーネントを描画する - extjs 4
- 28. Zend PDFを使用して最後のページに画像を描画しますか?
- 29. BlackBerry - レイアウトの変更中に画面の再描画を防止し、一度にすべてを再描画
- 30. ImageMagickを使用して画像上にhtmlを描画
アントンの?申し訳ありません、私はこのグラフィックスのものにつきものです。 Savvas Dalkitsis、私はパネルのための好みのサイズを設定すると、それが動作する原因になるでしょうか? –
推奨サイズは、レイアウトマネージャーへの提案です。それはうまくいかないでしょう。 Graphicsオブジェクトについては、たとえば、新しいJPanel()を呼び出すことによってコンポーネントから取得することもできます。getGraphics();スイングコンポーネントを操作する場合、より多くのツールを提供するGraphics2Dオブジェクトに安全にキャストできます。 Java2D APIの詳細については、Javaチュートリアルを参照してください。 –
私はあなたの問題の原因となっていることについて少し混乱しています。 JPanelを追加した後に再度ペイントしても、JFrameを描画してからJPanelを追加しても何も表示されないということですか? – Anton