2010-05-06 85 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能做到這一點嗎?