2009-10-26 47 views

回答

7

無論何時更新圖像,您都必須重新繪製JFrame

下面是關於這一主題的簡單的谷歌帶來了:(我用我所有的Java編程那些教程)

Java Tutorial: Drawing an Image

3

我真的不知道你的問題是什麼,但如果你有一個BufferedImage,然後您只需使用該圖像創建一個ImageIcon,然後將該圖標添加到JLabel並將該標籤添加到GUI,就像任何其他組件一樣。

如果您的問題是關於如何創建灰度,我建議您使用這些術語作爲搜索關鍵字搜索網頁,我相信您會在那裏找到示例。

34

要建立在camickr的解決方案(懶惰的我一樣誰想要快速的代碼複製/粘貼),這裏是一個代碼說明:

JFrame frame = new JFrame(); 
frame.getContentPane().setLayout(new FlowLayout()); 
frame.getContentPane().add(new JLabel(new ImageIcon(img))); 
frame.getContentPane().add(new JLabel(new ImageIcon(img2))); 
frame.getContentPane().add(new JLabel(new ImageIcon(img3))); 
frame.pack(); 
frame.setVisible(true); 
//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // if you want the X button to close the app 
+0

這只是使窗口最小可能的。 – 2017-01-30 23:43:50

+1

自從我使用swing之後已經很長時間了,但是如果您有一個小窗口 – 2017-02-01 00:22:12

+0

恰恰是我正在查找的內容,那麼我猜你沒有調用'pack()',請快速檢查bufferedImage是否被正確讀取。需要所有此JComponent擴展和打印覆蓋。謝謝! – 2017-04-17 17:25:45