2010-05-06 89 views
1

有没有办法捕捉屏幕,但没有显示应用程序本身。我知道如何最小化或使框架看不见,但这必须真正快速完成,因为它会在每秒内发生很多事情(至少每秒一次)。我希望它看起来像Windows Vista/7中的放大镜。 (该应用程序可以看到它自己。)Java-应用程序背后的屏幕截图

回答

0

如果没有与相关平台的窗口管理器紧密的本地集成,这是不可能的。

3

在捕获屏幕之前,在主JFrame上调用setVisible(false)。当屏幕截图过程完成后,请致电setVisible(true)让您的GUI再次出现。

要捕获屏幕,可以使用Robot类。它包含一个接收矩形坐标的方法createScreenCapture,该坐标将在BufferedImage中捕获。

+0

我认为OP从1开始就知道这一点,他写道:“我知道如何最小化或使框架不可见”,2,问题用“robot”标记。此外,“我希望它看起来像Windows Vista/7中的放大镜”,这表明他的应用程序在截图时无法最小化。 – aioobe 2010-05-06 15:32:12

+0

未被最小化的约束仍然满足,因为应用程序本身不会被最小化。 OP的评论“但这必须快速完成,因为它会在每秒发生很多”,告诉我他认为让它看不见不会因捕获的频率而起作用,这是不正确的。 – Cesar 2010-05-06 15:40:59

+0

好的。我明白你的意思。虽然你可能想将JForm更改为JFrame,或者我误解了其他任何东西? – aioobe 2010-05-06 15:50:43

0

我认为screencast o matic能做到这一点吗?