我一直在寻找解决问题的各个方向的解决方案。我正在研究在Kobo Touch上运行的Java,我想使用Swing来渲染组件。问题是,如果我只是调用paint()或它的朋友,那么有问题的组件只会自我渲染。如果我使用JFrame来打包()组件,那么它可以在桌面上运行,但是当我将它移动到Kobo时,它会失败,因为Java环境在那里是无头的。
在无头环境中,将带有子节点的JPanel渲染为BufferedImage或Graphics2D的最简单方法是什么?
答案 0 :(得分:2)
检查出来:
Can I create a BufferedImage from a JPanel without rendering in a JFrame?
顺便说一句,为什么它无头? Kobo Touch确实有显示器...... 编辑:正如原始海报一样,getLayout().layoutContainer(this);
如果没有使用框架,是强制布局管理器布局子代的一种方法,因此frame.pack()不会触发布局管理器。