2015-06-29 51 views
0

你可以通過圖形對象渲染組件擺動嗎?渲染圖形類的擺動

我有一個這樣的結構在我的課:

public void render(Graphics g) { 
    //Render stuff 
} 

是否有可能創建一個對象展開,併爲對象我使用的Graphics對象來呈現?

+1

你的問題對我沒有意義。 「渲染」是什麼意思?繪製沒有真實組件的組件?請解釋重要細節。你的問題可能是一個XY問題,你可能需要一個代碼解決方案來解決一個可能以完全不同的方式解決的問題。 –

+0

@HovercraftFullOfEels不,我想將它渲染爲一個真實的組件。繪製所有的圖形類不能創建一個文本框來擺動。所以我想如果我能用Swing調整組件會更好。 –

+0

對不起,我在解析上面剛剛寫的內容時遇到了困難。你能重新說一下嗎? –

回答

1

當然,絕對有可能。

public class MyClass extends JComponent { 
    //... 
    @Override 
    protected void paintComponent(Graphics g) { 
    super.paintComponent(g); 
    render(g); 
    } 
} 
1

我把它,你想繪製,但不是屏幕。 可以創建一個BufferedImage(或讀取背景圖像)並創建要繪製的Graphics2D對象。

File imgFile = new File("scenery.png"); 
BufferedImage img = ImageIO.read(imgFile); 
Graphics2D g = img.createGraphics(); 

render(g); 

g.dispose(); 
ImageIO.write(img, "png", imgFile); 

不要忘記g.dispose()來恢復本機繪圖狀態。