1

重複の可能性:
フレームバッファーで Swing を使用する

私は自分の問題に対するさまざまな方向の解決策を一日中探していました。Kobo Touch で Java を実行していて、Swing を使用してコンポーネントをレンダリングしたいと考えています。問題は、単純に paint() またはその仲間を呼び出すと、問題のコンポーネントが自分自身のみをレンダリングすることです。JFrame を使用してコンポーネントを pack() すると、デスクトップで動作しますが、Kobo に移動すると Java 環境がヘッドレスであるため失敗します。

ヘッドレス環境で、子を持つ JPanel を BufferedImage または Graphics2D にレンダリングする最も簡単な方法は何ですか?

4

1 に答える 1

2

これをチェックしてください:

JFrame でレンダリングせずに JPanel から BufferedImage を作成できますか?

ところで、なぜヘッドレスなのですか?Kobo Touchにはディスプレイがあります...

編集:元のポスターが発見したように、

getLayout().layoutContainer(this); 

は、フレームが使用されていない場合にレイアウト マネージャーに強制的に子をレイアウトさせる 1 つの方法であるため、frame.pack() はレイアウト マネージャーをトリガーしません。

于 2012-12-16T00:34:18.530 に答える