Java 将jFrame输出为jpeg或位图

Java 将jFrame输出为jpeg或位图,java,graphics,Java,Graphics,我一直在做一项任务,所有的要求都完成了。该项目旨在比较线性搜索算法和二进制搜索算法在运行时的差异。我有一个graph类,它在xy图中显示这些搜索的结果 graph对象是一个扩展JFrame的Turtle类。有什么方法可以将该图形对象转换为位图并保存以备将来打印 教授要求打印结果。因为我不希望每次程序运行时都打印出来,所以我宁愿将图形结果保存在指定的文件夹中,而不是使用屏幕抓取 不幸的是,我还没有在谷歌或这里找到任何答案。这样做可能吗?您可以将该区域的边界传递到方法中,以创建该区域的缓冲区图像。将

我一直在做一项任务,所有的要求都完成了。该项目旨在比较线性搜索算法和二进制搜索算法在运行时的差异。我有一个graph类,它在xy图中显示这些搜索的结果

graph对象是一个扩展JFrame的Turtle类。有什么方法可以将该图形对象转换为位图并保存以备将来打印

教授要求打印结果。因为我不希望每次程序运行时都打印出来,所以我宁愿将图形结果保存在指定的文件夹中,而不是使用屏幕抓取


不幸的是,我还没有在谷歌或这里找到任何答案。这样做可能吗?

您可以将该区域的边界传递到方法中,以创建该区域的
缓冲区图像。将屏幕截图保存为图像文件的最简单方法是使用该类。

另一种方法是告诉您的
组件
绘制()
本身到
缓冲区图像中,如图所示。由
JFrame
getContentPane()
方法返回的
容器
是合适的

你们看过Component.createImage(int,int)了吗?那个可能会有用,谢谢!机器人的唯一缺点是我无法知道图形的屏幕坐标是什么,因为它很少在同一空间中打开两次。但是ImageIO似乎非常适合我的需要。您可以使用
SwingUtilities.convertPointToScreen(Point)
计算任何组件的屏幕坐标。该示例是解决我问题的一个非常优雅的解决方案。我试试看。