2010-06-09 47 views
3

比方說,我有塗料的Java GUI組件到圖像文件

JButton test = new JButton("Test Button"); 

,我想繪製按鈕爲圖像對象,並將其保存到文件中。

我嘗試這樣做:

BufferedImage b = new BufferedImage(500, 500, BufferedImage.TYPE_INT_ARGB); 
test.paint(b.createGraphics()); 

File output = new File("C:\\screenie.png"); 

try 
{ 
    ImageIO.write(b, "png", output); 
} 
catch (IOException e) 
{ 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

此代碼生成一個空500×500的PNG文件。有誰知道我如何繪製GUI組件到圖像文件?

+0

請提供一個實際編譯的小型自包含示例。在您的片段中,使用了「offScreen」,但未聲明。 – sleske 2010-06-09 11:22:22

+0

@sleske:謝謝,看編輯 – Simon 2010-06-09 11:23:16

回答

1

圖像不是空的,它包含一個大小爲0x0的按鈕,位置爲0,0。

解決方案:您必須手動添加布局或設置按鈕的大小。

注意:要測試它,首先在JFrame上渲染組件。這可以讓你快速看到會發生什麼。

+0

謝謝,這工作! – Simon 2010-06-09 11:53:23