java保存JFrame窗口的内容为图片

原文链接:https://stackoverflow.com/questions/12575201/how-to-save-a-image-on-jframe

考虑到截图保存窗口如果被其他置顶窗口挡住,或者窗口在屏幕外的话无效了,所以采用如下方法。


	public void savePic(JFrame jf){
		//得到窗口内容面板
		Container content=jf.getContentPane();
		//创建缓冲图片对象
		BufferedImage img=new BufferedImage(
				jf.getWidth(),jf.getHeight(),BufferedImage.TYPE_INT_RGB);
		//得到图形对象
		Graphics2D g2d = img.createGraphics();
		//将窗口内容面板输出到图形对象中
		content.printAll(g2d);
		//保存为图片
		File f=new File("saveScreen.jpg");
		try {
			ImageIO.write(img, "jpg", f);
		} catch (IOException e) {
			e.printStackTrace();
		}
		//释放图形对象
		g2d.dispose();
	}





猜你喜欢

转载自blog.csdn.net/a694543965/article/details/73332934