Possible Duplicate:
Using Swing with a framebuffer




我整天都在寻找各种解决方案来解决我的问题。我正在研究在Kobo Touch上运行的Java,我想使用Swing渲染组件。问题是,如果我简单地调用paint()或其朋友,则所涉及的组件将仅呈现其自身。如果我使用JFrame打包()组件,则它可以在桌面上运行,但是当我将其移至Kobo时会失败,因为Java环境在那里没有头。

在无头环境中,将带有子级的JPanel渲染为BufferedImage或Graphics2D的最简单方法是什么?

最佳答案

看一下这个:

Can I create a BufferedImage from a JPanel without rendering in a JFrame?

顺便说一句,为什么它没有头? Kobo Touch确实有显示屏...

编辑:作为原始海报发现,

getLayout().layoutContainer(this);


如果不使用框架,则是强制布局管理器对子项进行布局的一种方法,因此frame.pack()不会触发布局管理器。

08-04 00:26