以无头模式渲染Swing容器

时间:2012-12-15 23:29:04

标签: java swing user-interface awt

  

可能重复:
  Using Swing with a framebuffer

我一直在寻找解决问题的各个方向的解决方案。我正在研究在Kobo Touch上运行的Java,我想使用Swing来渲染组件。问题是,如果我只是调用paint()或它的朋友,那么有问题的组件只会自我渲染。如果我使用JFrame来打包()组件,那么它可以在桌面上运行,但是当我将它移动到Kobo时,它会失败,因为Java环境在那里是无头的。

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

1 个答案:

答案 0 :(得分:2)

检查出来:

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

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

编辑:正如原始海报一样,

getLayout().layoutContainer(this); 
如果没有使用框架,

是强制布局管理器布局子代的一种方法,因此frame.pack()不会触发布局管理器。